我想从 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 总是保持同步。
我必须改变什么,以便首先执行循环中的删除,然后在循环之后链接到 Promise 的东西?