次のようなループがあります。
newThreadIds.map(async function(id) {
let thread = await API.getThread(id);
await ActiveThread.findOneAndUpdate({number: id}, {posts: thread.posts}, {upsert: true}).exec();
await Q.delay(1000);
});
問題は、各反復が非同期で実行されることであり、その間に 1 秒の遅延が必要です。私は約束を使ってそれを行う方法を知っていますが、見た目が悪いので、async/await を使用し、ネストをできるだけ少なくしたいと考えています。