У меня есть цикл, в котором есть асинхронный вызов с обратным вызовом. Чтобы иметь возможность двигаться дальше, мне нужен обратный вызов для запуска всего цикла в течение всего цикла, чтобы затем отобразить результаты цикла.
Каждый способ, которым я пытался контролировать это, не работает (пробовал Step, Tame.js, async.js и другие) - какие-либо предложения о том, как двигаться вперед?
array = ['test', 'of', 'file'];
array2 = ['another', 'array'];
for(i in array) {
item = array[i];
document_ids = new Array();
for (i2 in array2) {
item2 = array2[i2];
// look it up
mongodb.find({item_name: item2}).toArray(function(err, documents {
// because of async,
// the code moves on and calls this back later
console.log('got id');
document_ids.push(document_id);
}))
}
// use document_ids
console.log(document_ids); // shows []
console.log('done');
}
// shows:
// []
// done
// got id
// got id