var myArray = [1, 2, 3, 4, 5, 6]
function myPrommise(num){
return new Promise(res => {
window.setTimeout(()=>{
res( console.log("done: " + num) )
},2000)
})
}
myPrommise(myArray[0])
.then(x => myPrommise(myArray[1]))
.then(x => myPrommise(myArray[2]))
.then(x => myPrommise(myArray[3]))
.then(x => myPrommise(myArray[4]))
.then(x => myPrommise(myArray[5]))
Gerade jetzt, wenn ich die obige Anweisung ausführen, wird es nacheinander ausgeführt. In meinem tatsächlichen Anwendungsfall ist das Array dynamisch gefüllt und ich muss die myPromise()
Funktion für jedes Mitglied in myArray
ausführen.Wie man Versprechungen der Reihe nach ausführt, die Parameter von einem Array übergebend?
Wie kann ich eine "pausable loop" machen, die für jedes Element im Array eine Schleife bildet, myPromise
ausführen und warten, bis das Versprechen gelöst ist, bevor mit der nächsten Iteration fortgefahren wird?
Promise.All ist, was Sie –
@JohnPeters Auf seiner eigenen wollen, ist das nicht genug, denn Es wird nicht sequenziell aufgelöst. – 4castle