Quiero eliminar x filas de una base de datos YDN y después (!) Esto está hecho, hacer otra cosa.
¿Cómo puedo hacer que "algo más" espere a que finalice el ciclo de eliminación?
Probé varias opciones como
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; } }); }Pero el "Ahora haz algo más" nunca espera la cantidad de "éxito de eliminación de XY". También probé sin la adición async/await. Parece que db.remove siempre permanece sincronizado.
¿Qué tengo que cambiar para que primero se ejecuten las eliminaciones en el bucle y luego algo que encadene a la promesa después del bucle?