p-resolvify
Version:
Handle promise rejection like resolved
105 lines (69 loc) • 2.38 kB
Markdown
# p-resolvify
[](https://github.com/prettier/prettier)
[](https://unpkg.com/p-resolvify/dist/)
[](https://www.npmtrends.com/p-resolvify)
[](https://unpkg.com/p-resolvify/dist/)
[](https://travis-ci.org/fisker/p-resolvify)
[](https://coveralls.io/github/fisker/p-resolvify)
[](https://github.com/fisker/p-resolvify/blob/master/license)
[](http://makeapullrequest.com)
> Handle promise rejection like resolved
## Install
```bash
yarn add p-resolvify
```
## Usage
```js
import resolvify from 'p-resolvify'
```
```html
<script src="https://unpkg.com/p-resolvify"></script>
```
### API
#### resolvify function
```js
resolvify(function, options?)
```
return a new function returns a promise always resolve.
#### resolvify promise
```js
resolvify(promise, options?)
```
return a promise always resolve.
#### options.handler
- type: function
Promise reject error will pass through handler and then return
#### options.to
return value as array
```js
const [error, result] = await resolvify(promise, {to: true})
console.log(error, result)
```
### resolvify.to
shortcut for `options.to`
```js
resolvify.to(promise)
// equals to
resolvify(promise, {to: true})
```
## Examples
```js
const maybeReject = () =>
Math.random() > 0.5
? Promise.resolve(true)
: Promise.reject(new Error('error.'))
```
Before, without resolvify
```js
let result = false
try {
result = await maybeReject()
} catch {}
console.log(result)
```
After, with resolvify
```js
// `try/catch` is not needed
const result = await resolvify(maybeReject)
console.log(result)
```