Ho una funzione da una libreria che restituisce una promessa. Ho bisogno di eseguire questa funzione più volte, ma ogni iterazione deve attendere fino al completamento dell'attività precedente.Come si risolve in modo sincrono una catena di promesse es6?
La mia ipotesi è che ho potuto fare questo:
promiseReturner(1)
.then(promiseReturner(2)
.then(promiseReturner(3)
.then(...)
Quale potrebbe essere semplificata utilizzando un ciclo:
var p = Promise.resolve();
for (var i=1; i<=10; i++) {
p = p.then(promiseReturner(i));
}
Tuttavia, quando faccio questo ogni promessa della catena viene eseguito al Allo stesso tempo, invece di uno dopo l'altro come .then()
sembra implicare. Chiaramente mi manca qualcosa di fondamentale sulle promesse - ma dopo aver letto diversi tutorial e post sul blog sono ancora perso.
Here's a codepen I wrote up to demonstrate my attempt.
Does 'promiseReturner (n) 'restituire una promessa o effettuare una funzione di ritorno della promessa? – Bergi