blob: 362df28f88f6ee99aabf5686f265381794f560ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
---
title: Promise.allSettled()
slug: Web/JavaScript/Reference/Objets_globaux/Promise/allSettled
tags:
- JavaScript
- Méthode
- Promise
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Promise/allSettled
---
<p>{{JSRef}}</p>
<p>La méthode <code><strong>Promise.allSettled()</strong></code> renvoie une promesse qui est résolue une fois que l'ensemble des promesses de l'itérable passée en argument sont réussies ou rejetées. La valeur de résolution de cette promesse est un tableau d'objets dont chacun est le résultat de chaque promesse de l'itérable.</p>
<div>{{EmbedInteractiveExample("pages/js/promise-allsettled.html")}}</div>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox"><em>p</em>.allSettled(<em>iterable</em>);</pre>
<h3 id="Paramètres">Paramètres</h3>
<dl>
<dt><code>iterable</code></dt>
<dd>Un objet <a href="/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration">itérable</a> tel qu'un tableau ({{jsxref("Array")}}) dont chaque élément est une promesse ({{jsxref("Promise")}}.</dd>
</dl>
<h3 id="Valeur_de_retour">Valeur de retour</h3>
<p>Une promesse ({{jsxref("Promise")}}) <strong>en cours</strong> qui sera résolue de façon <strong>asynchrone</strong> une fois que chaque promesse de l'itérable a été résolue (tenue/réussie ou rejetée/échouée). Le gestionnaire passé à la promesse retournée recevra comme argument un tableau de valeur dont chacune est le résultat de chaque promesse de l'itérable initial.</p>
<p>Pour chaque objet contenu dans ce tableau, il y aura une propriété <code>status</code> qui est une chaîne de caractères. Si <code>status</code> vaut <code>fulfilled</code>, alors on aura une propriété <code>value</code>. Si <code>status</code> vaut <code>rejected</code>, alors une propriété <code>reason</code> sera présente. La valeur (ou la raison) reflète la valeur de résolution de la promesse.</p>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://tc39.es/proposal-promise-allSettled/"><code>Promise.allSettled()</code> (Brouillon TC39 au niveau 4)</a></td>
<td>{{Spec2('ESDraft')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
<p>{{Compat("javascript.builtins.Promise.allSettled")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li><a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses">Guide - Utiliser les promesses</a></li>
<li><a href="/fr/docs/Learn/JavaScript/Asynchronous/Promises">Programmation asynchrone à l'aide des promesses</a></li>
<li>{{jsxref("Promise")}}</li>
<li>{{jsxref("Promise.all()")}}</li>
</ul>
|