react-monaco-editor
Version:
Monaco Editor for React
53 lines (29 loc) • 1.15 kB
Markdown
# p-lazy [](https://travis-ci.org/sindresorhus/p-lazy)
> Create a lazy promise that defers execution until `.then()` or `.catch()` 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 --save p-lazy
```
## Usage
```js
const PLazy = require('p-lazy');
const lazyPromise = new PLazy(resolve => {
someHeavyOperation(resolve);
});
// `someHeavyOperation` is not yet called
doSomethingFun.then(() => {
// `someHeavyOperation` is called
lazyPromise.then(console.log);
});
```
## API
### new PLazy(executor)
Same as the [`Promise` constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise). `PLazy` is a subclass of `Promise`.
### PLazy.from(fn)
Create a `PLazy` promise from a promise-returning or async function.
## Related
- [p-defer](https://github.com/sindresorhus/p-defer) - Create a deferred promise
- [More…](https://github.com/sindresorhus/promise-fun)
## License
MIT © [Sindre Sorhus](https://sindresorhus.com)