JavaScript, Node.js: является ли Array.forEach асинхронным? - PullRequest
338 голосов
/ 19 февраля 2011

У меня есть вопрос относительно нативной Array.forEach реализации JavaScript: он ведет себя асинхронно? Например, если я позвоню:

[many many elements].forEach(function () {lots of work to do})

Это будет неблокирующим?

Ответы [ 11 ]

0 голосов
/ 21 февраля 2017

На npm есть пакет для простых асинхронных для каждого цикла .

var forEachAsync = require('futures').forEachAsync;

// waits for one request to finish before beginning the next 
forEachAsync(['dogs', 'cats', 'octocats'], function (next, element, index, array) {
  getPics(element, next);
  // then after all of the elements have been handled 
  // the final callback fires to let you know it's all done 
  }).then(function () {
    console.log('All requests have finished');
});

Также другой вариант forAllAsync

...