次のコードをbefore()のパラメーターとして実行して、MongoDBデータベースにテストエントリを作成しています(Mongooseを使用)。ただし、done()が複数回呼び出されるため、エラーが発生します。ただし、done()を使用しない場合、testPhotoはバックグラウンドスレッドに渡されるため、データベースに保存されません。
var createFeed = function(done) {
for (var i = 1; i <= 10; i++) {
var testPhoto = new Photo({ owner : 'test' + (i % 2),
caption : 'test caption',
ratings : [{ _id : 'test' + (i % 3),
rating : 5 }] });
testPhoto.save(done);
}
}
すべてのtestPhotoがデータベースに保存された後、done()関数が1回だけ実行されることを保証する方法はありますか?