Higher order function that will batch all calls to the wrapped function over a debounce, and then call the wrapped function once.
npm install function-batch
import functionBatch from 'function-batch';
const returnArr = (arr) => arr;
const returnArrBatched = functionBatch(returnArr);
const value = Promise.all([
returnArrBatched([1]);
returnArrBatched([2]);
returnArrBatched([3]);
returnArrBatched([4]);
])
.then(([a, b, c, d]) => {
// All resolve with the same value.
// a = [1, 2, 3, 4]
// b = [1, 2, 3, 4]
// c = [1, 2, 3, 4]
// d = [1, 2, 3, 4]
});
Currently function-batch
only supports batching up arrays.
Support for different kinds of args will be added if requested!
param | type | required |
---|---|---|
func | Function | yes |
wait | number | yes |
options | Options | no |
param | type | required |
---|---|---|
leading | boolean | no |
trailing | boolean | no |
maxWait | number | no |