Więc mam kodu, który wygląda mniej więcej tak:node.js - Oczekiwanie na wielu funkcji, aby zakończyć
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();
Mam spojrzał na Async biblioteki, który używam do równoległej kiedy mam określoną liczbę funkcji I trzeba uruchomić w tym samym czasie. Ale nie jestem pewien, jak osiągnąć pożądany efekt.
Wszystkie te funkcje mogą działać równolegle, po prostu muszę wiedzieć, kiedy wszystko jest gotowe.
Nie jestem pewien, jeśli szukasz przyzwoita biblioteka, ale jeśli potrzebujesz tylko czegoś trywialnego, możesz po prostu mieć licznik: ustawić go na "Object.keys (data) .length" początkowo i zmniejszyć go callback '.save' - gdy osiągnie" 0 " , uruchom 'some_function()'. – pimvdb
@pimvdb, który działałby (dokładnie to, o czym myślałem), ale to tylko mały hack, aby zacząć działać, aby uzyskać prawidłowy sposób robienia tego, potrzebowałbyś jakiegoś systemu powiadamiania pub/sub (aby nie uzyskać zbyt brudny z wydarzeniami i oddzwanianiem) –