Wie man viele Versprechen in einer Schleife zurückgibt und darauf wartet, dass sie alle andere Dinge tun

Ich habe eine Schleife, die eine Methode aufruft, die Dinge asynchron erledigt. 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. Also dies illustriert meine Wünsche:

for(i=0;i<5;i++){
    doSomeAsyncStuff();    
}

for(i=0;i<5;i++){
    doSomeStuffOnlyWhenTheAsyncStuffIsFinish();    
}

Ich kenne Versprechen nicht so gut, kann mir jemand helfen, dies zu erreichen?

Dies ist wie meindoSomeAsyncStuff() sich verhalten

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 tun:

doSomeAsyncStuff{
    var editor = generateCKEditor();
    return new Promises(function(resolve,refuse){
        editor.on('instanceReady',function(evt){
            doSomeStuff();
            resolve(true);
        })
    }
}

Aber ich bin mir der Syntax nicht sicher.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage