Najprostszy sposób, aby poczekać, aż niektóre asynchroniczne zadania zostaną zakończone, w Javascript?

Chcę usunąć niektóre kolekcje mongodb, ale to zadanie asynchroniczne. Kod będzie:

<code>var mongoose = require('mongoose');

mongoose.connect('mongo://localhost/xxx');

var conn = mongoose.connection;

['aaa','bbb','ccc'].forEach(function(name){
    conn.collection(name).drop(function(err) {
        console.log('dropped');
    });
});
console.log('all dropped');
</code>

Konsola wyświetla:

<code>all dropped
dropped
dropped
dropped
</code>

Jaki jest najprostszy sposób, aby się upewnićall dropped zostanie wydrukowany po upuszczeniu wszystkich kolekcji? Każda strona trzecia może zostać użyta do uproszczenia kodu.

questionAnswers(8)

yourAnswerToTheQuestion