Поэтому у меня есть код, который выглядит примерно так:Node.js - Ожидание нескольких функций для завершения
var data = someobject;
for(var x in data){
mongo.findOne({ _id:data[x]._id },function(e,post){
if(post != null){
post.title = 'omg updated';
post.save(function(){
console.log('all done updating');
});
}
});
}
// I need all^those functions to be done before continuing to the following function:
some_function();
Я заглянул в библиотеку асинхронной, который я использую для параллельно, когда у меня есть определенное количество функций I необходимо запустить в 1 раз. Но я не уверен, как добиться желаемого эффекта.
Все эти функции могут работать параллельно, мне просто нужно знать, когда все будет сделано.
я не уверен, что если вы ищете достойная библиотека, но если вам нужно только что-то тривиальное, вы можете просто иметь счетчик: сначала установите его в Object.keys (data) .length' и уменьшите его обратный вызов '.save' - когда он достигнет' 0' , запустите 'some_function()'. – pimvdb
@pimvdb, который работал бы (это было именно то, о чем я думал), однако это просто небольшой взлом, чтобы встать и работать, чтобы получить правильный способ сделать это, потребуется какая-то система pub/sub messaging (не получить слишком беспорядочно с событиями и обратными вызовами) –