diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/promise/any/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/promise/any/index.html | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/promise/any/index.html b/files/uk/web/javascript/reference/global_objects/promise/any/index.html deleted file mode 100644 index 3e450db558..0000000000 --- a/files/uk/web/javascript/reference/global_objects/promise/any/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Promise.any() -slug: Web/JavaScript/Reference/Global_Objects/Promise/any -tags: - - JavaScript - - Promise - - Експериментальний - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any ---- -<div>{{JSRef}}</div> - -<p><code>Promise.any()</code> приймає ітерабельний об'єкт з об'єктами {{JSxRef("Promise")}} та, як тільки один з промісів виконується, вертає єдиний проміс, який вирішується зі значенням цього проміса. Якщо жодний проміс не виконався (якщо усі надані проміси були відхилені), тоді повернений проміс буде відхилено з об'єктом, який досі є предметом обговорення: або масив причин відхилення, або {{JSxRef("AggregateError")}}, новий підклас {{JSxRef("Error")}}, який поєднує окремі помилки. Найголовніше, цей метод є протилежністю методу {{JSxRef("Promise.all()")}}.</p> - -<div class="blockIndicator warning"> -<p><strong>Застереження!</strong> Метод <code>Promise.any()</code> є експериментальним та не повністю підтримується усіма переглядачами. Він наразі на стадії <a href="https://github.com/tc39/proposal-promise-any" rel="external">TC39 Candidate stage (стадія 3)</a>.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre>Promise.any(<var>iterable</var>);</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>iterable</code></dt> - <dd><a href="/uk/docs/Web/JavaScript/Reference/Протоколи_перебору#Протокол_ітерабельного_обєкта">Ітерабельний об'єкт</a>, такий як {{JSxRef("Array")}}.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<ul> - <li><strong>Вже вирішений</strong> {{JSxRef("Promise","проміс")}}, якщо переданий <var>ітерабельний об'єкт</var> є порожнім.</li> - <li><strong>Асинхронно вирішений</strong> {{JSxRef("Promise","проміс")}}, якщо переданий <var>ітерабельний об'єкт</var> не містить промісів.</li> - <li>{{JSxRef("Promise","Проміс")}} <strong>у стані очікування</strong> у всіх інших випадках. Цей повернений проміс далі вирішується/відхиляється <strong>асинхронно</strong> (як тільки стек стане порожнім), коли будь-який з промісів у переданому <var>ітерабельному об'єкті</var> буде вирішено, або якщо усі проміси буде відхилено.</li> -</ul> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод корисний для повернення першого проміса, який виконується. Він завершується після виконання проміса, тому не очікує на завершення інших промісів, як тільки його знаходить. На відміну від {{JSxRef("Promise.all()")}}, який вертає <em>масив</em> вирішених значень, ми отримуємо лише одне вирішене значення (за умови, що принаймні один проміс вирішується). Це може бути вигідно, якщо нам потрібно, щоб лише один проміс було вирішено, і нам байдуже, який саме. Також, на відміну від {{JSxRef("Promise.race()")}}, який вертає перше <em>встановлене</em> значення, цей метод вертає перше <em>вирішене</em> значення. Цей метод ігноруватиме усі відхилені проміси до першого вирішеного проміса.</p> - -<h3 id="Виконання">Виконання</h3> - -<p>Якщо будь-який з переданих промісів виконається, повернений проміс асинхронно виконується зі значенням виконаного проміса, незалежно від того, чи були інші проміси виконані чи відхилені.</p> - -<ul> - <li>Якщо був переданий порожній <var>ітерабельний об'єкт</var>, тоді цей метод вертає (синхронно) вже вирішений проміс.</li> - <li>Якщо будь-який з переданих промісів виконується, або передано не проміси, проміс, повернений <code>Promise.any</code> виконується асинхронно.</li> -</ul> - -<h3 id="Відхилення">Відхилення</h3> - -<p>Якщо усі передані проміси було відхилено, <code>Promise.any</code> асинхронно відхиляється з одним з двох варіантів (щодо яких ще не дійшли згоди): </p> - -<ul> - <li>масив, що містить <strong>усі </strong>причини відхилень <var>ітерабельного об'єкта</var>, переданого в якості аргумента, або</li> - <li>об'єкт {{JSxRef("AggregateError")}}, що розширює {{JSxRef("Error")}} та містить вказівник на масив винятків.</li> -</ul> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td><a href="https://tc39.es/proposal-promise-any/#sec-promise.any">ESNext Promise.any Proposal</a></td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("javascript.builtins.Promise.any")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{JSxRef("Promise")}}</li> - <li>{{JSxRef("Promise.allSettled()")}}</li> - <li>{{JSxRef("Promise.all()")}}</li> - <li>{{JSxRef("Promise.race()")}}</li> -</ul> |
