Duplicar posibles:
Coordinating parallel execution in node.jsasincrónica llama rizo interior
En primer lugar, las manos en pseudo-código:
forEach(arrayelements) {
asyncQueryFunction(function(qres) {
//work with query results.
});
}
// finally, AFTER all callbacks did return:
res.render("myview");
cómo hacerlo?
Si eso no fuera lo suficientemente claro, me explico:
tengo que hacer una serie de consultas "actualización" (en mongodb, a través de la mangosta), de enlace a través de una lista de identificadores de documentos. Para cada identificación en mi matriz llamaré a una función asíncrona que devolverá los resultados de la consulta (en realidad, no necesito hacer nada con ellos).
Sé que tengo que usar .forEach()
bucle de javascript, pero ¿cómo puedo ejecutar mi devolución de llamada "final" solo cuando TODAS mis consultas asincrónicas terminaron?
Ya estoy usando la excelente biblioteca asincrónica (https://github.com/caolan/async) para realizar este tipo de tareas cuando tengo que ejecutar una serie de tareas "limitadas". Pero no creo que pueda pasarle una serie de funciones diferentes.
¿Lo puedo?
Este es un método: http://stackoverflow.com/questions/4631774/coordin ating-parallel-execution-in-node-js/4631909 # 4631909 – slebetman
puede usar una biblioteca de control de flujo asincrónico, "async" es la más popular (https://github.com/caolan/async) –