Package Exports
- fast-defer
- fast-defer/index.min.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fast-defer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
fast-defer
is a fast and minimal deferred implementation for javascript
Table of contents
Installing
Node
npm install --save fast-defer
# or
yarn add fast-defer
const { deferred, isDeferred } = require('fast-defer');
// or
import { deferred, isDeferred } from 'fast-defer';
Browser
<!-- Replace latest with the desired version -->
<script crossorigin src="https://cdn.jsdelivr.net/npm/fast-defer@latest/index.min.js"></script>
<!-- or -->
<script crossorigin src="https://unpkg.com/fast-defer@latest/index.min.js"></script>
const { deferred, isDeferred } = window.FastDefer;
Browser Compatibility
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Node.js | Deno | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Promise() constructor | 32 | 12 | 29* | X | 19 | 8 | 0.12 | 1.0 | 4.4.3 | 32 | 29* | 19 | 8* | 2.0 |
Symbol() constructor | 38 | 12 | 36 | X | 25 | 9 | 0.12 | 1.0 | 38 | 38 | 36 | 25 | 9 | 3.0 |
Getting Started
Fast defer is nothing more than a promise that you can resolve or reject later.
import { deferred, isDeferred } from 'fast-defer';
const waitingSomething = deferred();
waitingSomething.then((val) => {
console.log('Resolved');
});
waitingSomething.catch((error) => {
console.log('Rejected');
});
// Other file, function or etc
someCallback((response, error) => {
if (error) {
waitingSomething.reject(error);
} else {
waitingSomething.resolve(response);
}
});
License
Licensed under the MIT. See LICENSE
for more informations.
Contact
See my contact information on my github profile or open a new issue.