fast-defer
is a fast and minimal deferred implementation for javascript
Installing
Node
npm install --save fast-defer
yarn add fast-defer
const { deferred, isDeferred } = require('fast-defer');
import { deferred, isDeferred } from 'fast-defer';
Browser
<script crossorigin src="https://cdn.jsdelivr.net/npm/fast-defer@1.1.0"></script>
<script crossorigin src="https://unpkg.com/fast-defer@1.1.0"></script>
const deferred = window.deferred;
const isDeferred = window.isDeferred;
Table of contents
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');
});
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.