fast-defer
v1.1.8
Published
A fast and minimal deferred implementation for javascript
Downloads
458,412
Readme
Table of Contents
Installing
Node
npm install fast-defer # or yarn add fast-defer
const { deferred } = require('fast-defer');
import { deferred } from 'fast-defer';
Browser
<script
crossorigin
src="https://cdn.jsdelivr.net/npm/fast-defer@latest/dist/index.umd.js"
></script>
const { deferred } = window.fastDefer;
Url Import
import { deferred } from 'https://cdn.skypack.dev/fast-defer@latest';
Getting Started
A deferred is nothing more than a promise with .resolve()
and a .reject()
method. You
can use it to create a promise that will be resolved or rejected at some point in the
future and, probably, in another scope.
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);
}
});
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 |
License
Licensed under the MIT. See LICENSE
for more informations.