Update snippet descriptions

This commit is contained in:
Isabelle Viktoria Maciohsek
2020-10-22 20:24:04 +03:00
parent aedcded750
commit d35575373f
41 changed files with 148 additions and 88 deletions

View File

@ -5,16 +5,16 @@ tags: function,promise,intermediate
Performs left-to-right function composition for asynchronous functions.
- Use `Array.prototype.reduce()` and the spread operator (`...`) to perform function composition using `Promise.then()`.
- Use `Array.prototype.reduce()` and the spread operator (`...`) to perform function composition using `Promise.prototype.then()`.
- The functions can return a combination of normal values, `Promise`s or be `async`, returning through `await`.
- All functions must accept a single argument.
```js
const pipeAsyncFunctions = (...fns) => arg => fns.reduce((p, f) => p.then(f), Promise.resolve(arg));
const pipeAsyncFunctions = (...fns) =>
arg => fns.reduce((p, f) => p.then(f), Promise.resolve(arg));
```
```js
const sum = pipeAsyncFunctions(
x => x + 1,
x => new Promise(resolve => setTimeout(() => resolve(x + 2), 1000)),