Create promisify.md

This commit is contained in:
Daniel Ramos
2017-12-13 10:27:43 +00:00
parent 84e5544b78
commit 64d28164ef
2 changed files with 36 additions and 0 deletions

View File

@ -42,6 +42,7 @@
* [Object from key value pairs](#object-from-key-value-pairs) * [Object from key value pairs](#object-from-key-value-pairs)
* [Pipe](#pipe) * [Pipe](#pipe)
* [Powerset](#powerset) * [Powerset](#powerset)
* [Promisify](#promisify)
* [Random integer in range](#random-integer-in-range) * [Random integer in range](#random-integer-in-range)
* [Random number in range](#random-number-in-range) * [Random number in range](#random-number-in-range)
* [Randomize order of array](#randomize-order-of-array) * [Randomize order of array](#randomize-order-of-array)
@ -416,6 +417,24 @@ const powerset = arr =>
// powerset([1,2]) -> [[], [1], [2], [2,1]] // powerset([1,2]) -> [[], [1], [2], [2,1]]
``` ```
### Promisify
Creates a promise version of the given callback-style function. In Node 8+, you
can use [`util.promisify`](https://nodejs.org/api/util.html#util_util_promisify_original)
```js
const promisify = func =>
(...args) =>
new Promise((resolve, reject) =>
func(...args, (err, result) =>
err
? reject(err)
: resolve(result))
)
// const stat = promisify(fs.stat)
// When called, stat returns a promise
```
### Random integer in range ### Random integer in range
Use `Math.random()` to generate a random number and map it to the desired range, using `Math.floor()` to make it an integer. Use `Math.random()` to generate a random number and map it to the desired range, using `Math.floor()` to make it an integer.

17
snippets/promisify.md Normal file
View File

@ -0,0 +1,17 @@
### Promisify
Creates a promise version of the given callback-style function. In Node 8+, you
can use [`util.promisify`](https://nodejs.org/api/util.html#util_util_promisify_original)
```js
const promisify = func =>
(...args) =>
new Promise((resolve, reject) =>
func(...args, (err, result) =>
err
? reject(err)
: resolve(result))
)
// const stat = promisify(fs.stat)
// When called, stat returns a promise
```