p-lazy
v5.0.0
Published
Create a lazy promise that defers execution until it's awaited or when `.then()`, `.catch()`, or `.finally()` is called
Downloads
375,038
Maintainers
Readme
p-lazy
Create a lazy promise that defers execution until it's awaited or when
.then()
, or.catch()
, or.finally()
is called
Useful if you're doing some heavy operations and would like to only do it when the promise is actually used.
Install
npm install p-lazy
Usage
import PLazy from 'p-lazy';
const lazyPromise = new PLazy(resolve => {
someHeavyOperation(resolve);
});
// `someHeavyOperation` is not yet called
await doSomethingFun;
// `someHeavyOperation` is called
console.log(await lazyPromise);
API
new PLazy(executor)
Same as the Promise
constructor. PLazy
is a subclass of Promise
.
PLazy.from(fn)
Create a PLazy
promise from a promise-returning or async function.
PLazy.resolve(value)
Create a PLazy
promise that is resolved with the given value
, or the promise passed as value
.
PLazy.reject(reason)
Create a PLazy
promise that is rejected with the given reason
.
Related
- p-cancelable - Create a promise that can be canceled
- p-defer - Create a deferred promise
- lazy-value - Create a lazily evaluated value
- define-lazy-prop - Define a lazily evaluated property on an object
- More…