Mam pętlę, która wywołuje metodę, która robi rzeczy asynchronicznie. Ta pętla może wywołać metodę wiele razy. Po tej pętli mam kolejną pętlę, która musi zostać wykonana tylko wtedy, gdy wszystkie czynności asynchroniczne są wykonane.
To ilustruje to, czego chcę:
for (i = 0; i < 5; i++) {
doSomeAsyncStuff();
}
for (i = 0; i < 5; i++) {
doSomeStuffOnlyWhenTheAsyncStuffIsFinish();
}
Nie znam obietnic, więc czy ktoś mógłby mi w tym pomóc?
Oto jak moje doSomeAsyncStuff()
zachowanie:
function doSomeAsyncStuff() {
var editor = generateCKEditor();
editor.on('instanceReady', function(evt) {
doSomeStuff();
// There should be the resolve() of the promises I think.
})
}
Może muszę zrobić coś takiego:
function doSomeAsyncStuff() {
var editor = generateCKEditor();
return new Promise(function(resolve,refuse) {
editor.on('instanceReady', function(evt) {
doSomeStuff();
resolve(true);
});
});
}
Ale nie jestem pewien składni.