Ich habe eine Schleife, die eine Methode aufruft, die asynchron arbeitet. Diese Schleife kann die Methode viele Male aufrufen. Nach dieser Schleife habe ich eine weitere Schleife, die nur ausgeführt werden muss, wenn alle asynchronen Aufgaben erledigt sind.
Das zeigt also, was ich will:
for (i = 0; i < 5; i++) {
doSomeAsyncStuff();
}
for (i = 0; i < 5; i++) {
doSomeStuffOnlyWhenTheAsyncStuffIsFinish();
}
Ich bin mit Versprechungen nicht sehr vertraut. Kann mir jemand helfen, dies zu erreichen?
So doSomeAsyncStuff()
verhalte ich mich :
function doSomeAsyncStuff() {
var editor = generateCKEditor();
editor.on('instanceReady', function(evt) {
doSomeStuff();
// There should be the resolve() of the promises I think.
})
}
Vielleicht muss ich so etwas machen:
function doSomeAsyncStuff() {
var editor = generateCKEditor();
return new Promise(function(resolve,refuse) {
editor.on('instanceReady', function(evt) {
doSomeStuff();
resolve(true);
});
});
}
Aber ich bin mir der Syntax nicht sicher.