This package helps you split blocking - time consuming operations to chunks that are executed in an asynchronous manner. The package was inspired long time ago, by a StackOverflow Question and main usage should be for systems where multi-threading operations are not available.
Please visit demo page to see examples.
Package is available on npm repository:
npm i chunked-call -D
// Callback to execution codedeclare ;// Callback on finishing executiondeclare ;// Starts Chunked Call// @task: callback to function that executes until it returns false.// @callback: called when execution is finished.// @limitMs: once execution time exceeded given time, it waits to a next frame// return: Handler to Chunked Call executor, can be used to terminate execution;// Promisified version of setChunkedCall;// Terminates execution of ongoing chunked call// @id: Identifier of chunked call gotten from setChunkedCall// return: True if an execution has been killed successfully, false otherwise.;
How to implement chunked-call?
Import required functions
let setChunkedCall = setChunkedCall;let killChunkedCall = killChunkedCall;
// original code:for let i = 0; i < arraylength; i++;;// becomes:;
// original code:while arraylength;;// becomes:;
// original code:do;while arraylength;;// becomes:;
1.0.0- Version uses
claerTimeoutto schedule next execution
0.0.6- Added Travis CI
0.0.5- Updated documentation
0.0.4- Improve test coverage
0.0.3- Updated documentation
0.0.2- First release