и обратные вызовы Node.js в старом стиле.

то в основном у меня есть цикл for с асинхронной функцией. Проблема в том, что программа просто продолжается после цикла, и я хочу дождаться завершения всех асинхронных функций, которые были вызваны в цикле, прежде чем код продолжится.

В моем коде "bar" - это массив json с другими массивами json.

function write(bla) { // gets called one after another

  for(var url in bla) {
    asyncFunctionCall(url); // Executed about 50 times, it has to run parallel
  }
  // Wait for all called functions to finish before next stuff happens and
  // write gets called again.

}

for(var foo in bar) {
  // Here i parse the json array "foo" which is in the json array "bar"
  write(foo[bla]); // bla is an array of multiple urls.
}

Вызов асинхронной функции выглядит примерно так:

var request = require('request');

request(url, function (error, response, body) {
  if(typeof response !== 'undefined') {
    if((response.statusCode >= 400 && response.statusCode <= 451)
    || (response.statusCode >= 500 && response.statusCode <= 511))
      return true;
    return false;
  }
  return false;
});

Ответы на вопрос(1)

Ваш ответ на вопрос