Ich habe eine Schleife, die eine Methode aufruft, die asynchornous tut. Diese Schleife kann die Methode viele Male aufrufen. Nach dieser Schleife habe ich eine andere Schleife, die nur ausgeführt werden muss, wenn alle asynchronen Dinge erledigt sind. So das meine Wünsche veranschaulichen:Wie man viele Promises in einer Schleife zurückgibt und darauf wartet, dass alle andere Sachen machen
Ich bin nicht so vertraut mit Versprechungen so könnte mir jemand helfen, dies zu erreichen? Diese
ist, wie mein doSomeAsyncStuff()
verhalten:
doSomeAsyncStuff{
var editor = generateCKEditor();
editor.on('instanceReady',function(evt){
doSomeStuff();
// There should be the resolve() of the promises I think.
})
}
Vielleicht habe ich so etwas zu tun:
doSomeAsyncStuff{
var editor = generateCKEditor();
return new Promises(function(resolve,refuse){
editor.on('instanceReady',function(evt){
doSomeStuff();
resolve(true);
})
}
}
Aber ich bin der Syntax nicht sicher.
Steuern Sie die asynchronen Anrufe? Geben sie bereits Versprechungen zurück, oder können Sie ihnen Versprechen geben? –
Was genau ist die Sequenz? Müssen Sie die anderen Funktionen aufrufen, nachdem * alle * die vorherigen asynchronen beendet sind? Oder müssen Sie nur eine Funktion aufrufen, nachdem alle Asyncs beendet sind? – Sosdoc
Momentan gibt die erste Funktion keine Versprechen zurück. Das muss ich umsetzen. Ich möchte meine Nachricht bearbeiten, um einige Details zum Workflow meiner Funktionen hinzuzufügen. Und ja, ich brauche, dass alle Sachen der ersten Schleife beendet werden, bevor ich anfange, das Zeug in der zweiten Schleife auszuführen. – Ganbin