私は何とか解決策を見つけることができません。async.eachと期待どおりに動作しない約束
async.each(bottles, function(bottle) {
// set substance quantity to 0
updateQuantity(bottle[constant.SUBSTANCE_ID], 0)
.then(function() {
bottle[constant.EXPIRY] = expiry;
bottle[constant.IS_AVAILABLE] = true;
updateRecord(bottle)
.then(function() {
console.log('Updated');
},
function() {});
}, function() {});
}, function() {
console.log('Finished');
});
console.log('Done');
をupdateQuantityとUpdateRecordデータベースも約束を返し、バックグラウンドでKnex更新を使用して約束を返し、ある方法:ここで私がやっているものです。 私は上記のコードの出力になりたい:
Updated
Updated
Finished
Done
しかし、私は取得しています出力は次のようになります。だから、
Done
Updated
Updated
、async.eachのコールバックが動作していませんコードはasync.eachが終了するのを待っていません。
「async.js」*は約束どおりに動作しません。それを使用しないでください。 – Bergi
なぜこれらのノーオペレーション機能を使用していますか? – naomik
@Bergi async.js以外の提案はありますか? – Ashutosh