Files
30-seconds-of-code/snippets/js/s/convert-function-to-variadic.md
Angelos Chalaris 9d032ce05e Rename js snippets
2023-05-19 20:23:47 +03:00

25 lines
643 B
Markdown

---
title: Convert function to variadic
type: snippet
language: javascript
tags: [function,array]
cover: polar-bear
dateModified: 2021-06-13T13:50:25+03:00
---
Changes a function that accepts an array into a variadic function.
- Given a function, return a closure that collects all inputs into an array-accepting function.
```js
const collectInto = fn => (...args) => fn(args);
```
```js
const Pall = collectInto(Promise.all.bind(Promise));
let p1 = Promise.resolve(1);
let p2 = Promise.resolve(2);
let p3 = new Promise(resolve => setTimeout(resolve, 2000, 3));
Pall(p1, p2, p3).then(console.log); // [1, 2, 3] (after about 2 seconds)
```