YDN データベースから x 行を削除したいのですが、(!) これが完了したら、別のことをしてください。
削除ループが終了するまで「何か他のもの」を待機させるにはどうすればよいですか?
私はいくつかのオプションを試しました
function DeleteAndThenDoSomethingElse()
{
return new Promise((resolve, reject) => {
var df = db.values('myDatabaseTable');
df.done(function (items) {
var n = items.length;
var sequence = Promise.resolve();
for (var i = 0; i < n; i++)
{
const my_i = i;
const my_premid = items[i].premid;
console.log(i + ': delete Data-ID: '+ my_premid);
sequence = sequence.then(async function() {
await db.remove('datenbank_id', my_premid).done(function() {
console.log('Delete of ' + my_premid + ' success.');
}).fail(function(e) {
console.log(e.message);
});
});
}
sequence = sequence.then(console.log('Now do something else'));
return sequence;
}
});
}
しかし、「今何か他のことをする」は、「XYの削除成功」の量を待つことはありません。また、async/await-addition なしで試しました。db.remove は常に同期しているようです。
ループ内の削除が最初に実行され、次にループの後にプロミスに連鎖するようにするには、何を変更する必要がありますか?