I promises
bin mit Liste der Aufgabe zu bewältigen:Javascript - Wie man mit Loops richtig reagiert?
Dies ist ein Beispiel von Code:
var array = ["aaa", "bbbb", "cccc", "dddd", "eeee"];
var result = [];
var p = Promise.resolve({
then: function(onFulfill, onReject) {
array.forEach(function(x){
// http request with x and make sure this request ends before a new one if fired
// put http resolte in array : result.push(httpRespose);
});
//when done, onFulfill(result)
}
});
p.then(
function(v) {
console.log(v); // "fulfilled!"
}, function(e) {
console.log(e); // not called
});
Ich möchte jedes Element von Array in der Lage sein zu machen und HTTP-Anforderung verwenden, dann setzen Ergebnis in ein anderes Array und wenn Sie fertig sind, geben Sie das neue Array zurück. Ich möchte auch wissen, ob es möglich ist sicherzustellen, dass http-Ergebnisse in der gleichen Reihenfolge hinzugefügt werden (es ist nicht sehr wichtig).
Kann mir bitte jemand helfen?
eine Reihe von Versprechen erstellen und lösen sie mit 'Promise.all': https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Referenz/Globale_Objekte/Versprechen/alle. –
Sie könnten alle Versprechen in einem Array aggregieren und [Promise.all] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all) verwenden, um das Ereignis auszulösen Sie haben alle abgeschlossen. –
'// http Anfrage mit x und stellen Sie sicher, dass diese Anfrage endet vor einer neuen, wenn gefeuert wird, wenn das der Fall ist, wollen Sie nicht versprechen.all –