Files
30-seconds-of-code/snippets/js/s/call-functions-with-context.md
Angelos Chalaris 9d032ce05e Rename js snippets
2023-05-19 20:23:47 +03:00

27 lines
600 B
Markdown

---
title: Call functions with context
type: snippet
language: javascript
tags: [function]
cover: rabbit-call
dateModified: 2021-06-13T13:50:25+03:00
---
Given a key and a set of arguments, call them when given a context.
- Use a closure to call `key` with `args` for the given `context`.
```js
const call = (key, ...args) => context => context[key](...args);
```
```js
Promise.resolve([1, 2, 3])
.then(call('map', x => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
const map = call.bind(null, 'map');
Promise.resolve([1, 2, 3])
.then(map(x => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
```