MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Promise.all()

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.

Zusammenfassung

Die Promise.all(iterable) Methode gibt einen Promise zurück, welcher erfüllt(resolved) wird, wenn alle Promises in dem iterable Argument erfüllt wurden oder sofort abgelehnt (reject) wird, wenn ein Promise in dem interable Argument abgelehnt wird. 

Syntax

Promise.all(iterable);

Parameters

iterable
Ein iterierbares Objekt, z.B. ein Array von Promises. Siehe iterable.

Beschreibung

Diese Methode dient dem Bündeln von mehreren Promises.

Erfüllt: 
Wenn alle Promises erfolgreich erfüllt werden, wird Promise.all mit einem Array, welches die Rückgabewerte der einzelnen Promises enthält, erfüllt. Die Reihenfolge der Werte entspricht der Reihenfolge der eingegebenen Promises. Wenn ein leeres Array übergeben wird, wird  Promise.all sofort erfüllt. 

Abgelehnt:
Wenn eines der übergebenen Promises abgelehnt wird, wird Promise.all sofort mit dem Wert des fehlgeschlagenen Promise abgelehnt, ganz egal, ob die anderen Promises erfolgreich waren. 

Beispiele

Erfolgreich:

var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) => {
   setTimeout(resolve, 100, 'foo');
});

Promise.all([p1, p2, p3])
.then(values => {
  console.log(values); // [3, 1337, "foo"]
});

Sofortige Ablehnung:

var p1 = new Promise((resolve, reject) => { 
  setTimeout(resolve, 1000, 'one'); 
}); 
var p2 = new Promise((resolve, reject) => { 
  setTimeout(resolve, 2000, 'two'); 
});
var p3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 3000, 'three');
});
var p4 = new Promise((resolve, reject) => {
  setTimeout(resolve, 4000, 'four');
});
var p5 = new Promise((resolve, reject) => {
  reject('reject');
});

Promise.all([p1, p2, p3, p4, p5]).then(values => { 
  console.log(values);
}, reason => {
  console.log(reason)
});

//From console:
//"reject"

//You can also use .catch
Promise.all([p1, p2, p3, p4, p5]).then(values => { 
  console.log(values);
}).catch(reason => { 
  console.log(reason)
});

//From console: 
//"reject"

Spezifikationen

Specification Status Comment
domenic/promises-unwrapping Draft Standardization work is taking place here.
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Promise.all' in dieser Spezifikation.
Standard Initial definition in an ECMA standard.

Browserkompatiblität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 32 29.0 (29.0) Nicht unterstützt 19 7.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Nicht unterstützt 29.0 (29.0) Nicht unterstützt Nicht unterstützt iOS 8 32

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: Sharian
 Zuletzt aktualisiert von: Sharian,