Skip to content

Instantly share code, notes, and snippets.

View alejandro5042's full-sized avatar

Alejandro Barreto alejandro5042

  • Emerson (NI)
  • Austin, TX
  • 02:07 (UTC -05:00)
View GitHub Profile
@neilk
neilk / nonBlockingForEach.js
Last active November 25, 2021 11:06
Works a little bit like `Array.prototype.forEach()`, but uses `process.nextTick` to allow other processes to execute. NOTE. This isn't meant to be practical; if you use this in production code you're probably doing it wrong.
/**
* Allow other processes to execute while iterating over
* an array. Useful for large arrays, or long-running processing
*
* @param {Function} fn iterator fed each element of the array.
* @param {Function} next executed when done
*/
Array.prototype.nonBlockingForEach = function(fn, next) {
var arr = this;
var i = 0;