и обратные вызовы 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;
});