| # p-try [](https://travis-ci.org/sindresorhus/p-try) | |
| > Start a promise chain | |
| [How is it useful?](http://cryto.net/~joepie91/blog/2016/05/11/what-is-promise-try-and-why-does-it-matter/) | |
| ## Install | |
| ``` | |
| $ npm install p-try | |
| ``` | |
| ## Usage | |
| ```js | |
| const pTry = require('p-try'); | |
| (async () => { | |
| try { | |
| const value = await pTry(() => { | |
| return synchronousFunctionThatMightThrow(); | |
| }); | |
| console.log(value); | |
| } catch (error) { | |
| console.error(error); | |
| } | |
| })(); | |
| ``` | |
| ## API | |
| ### pTry(fn, ...arguments) | |
| Returns a `Promise` resolved with the value of calling `fn(...arguments)`. If the function throws an error, the returned `Promise` will be rejected with that error. | |
| Support for passing arguments on to the `fn` is provided in order to be able to avoid creating unnecessary closures. You probably don't need this optimization unless you're pushing a *lot* of functions. | |
| #### fn | |
| The function to run to start the promise chain. | |
| #### arguments | |
| Arguments to pass to `fn`. | |
| ## Related | |
| - [p-finally](https://github.com/sindresorhus/p-finally) - `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome | |
| - [More…](https://github.com/sindresorhus/promise-fun) | |
| ## License | |
| MIT © [Sindre Sorhus](https://sindresorhus.com) | |
Xet Storage Details
- Size:
- 1.33 kB
- Xet hash:
- 93e6dca6e5011541b298960bb7d841637697d06e43f57a3726e7d7db7173c030
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.