Como posso esperar pelo conjunto de funções de retorno de chamada assíncrono?

Eu tenho código que se parece com isso em javascript:

<code>forloop {
    //async call, returns an array to its callback
}
</code>

Depois que todas as chamadas assíncronas estiverem concluídas, quero calcular o min em todos os arrays.

Como posso esperar por todos eles?

Minha única idéia agora é ter uma matriz de booleanos chamada done e set done [i] para true na função de retorno de chamada, e então dizer while (não todos estão prontos) {}

edit: Eu suponho que uma solução possível, mas feia, seria editar o array concluído em cada callback, então chamar um método se todos os outros forem feitos a partir de cada callback, assim o último callback a completar irá chamar o método continue.

Desde já, obrigado.

questionAnswers(6)

yourAnswerToTheQuestion