Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Promise
  6. Promise.race()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Promise.race()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

МетодPromise.race(iterable) возвращает выполненный или отклонённый промис, в зависимости от того, с каким результатом завершится первый из переданных промисов, со значением или причиной отклонения этого промиса.

Интерактивный пример

const promise1 = new Promise((resolve, reject) => {  setTimeout(resolve, 500, "one");});const promise2 = new Promise((resolve, reject) => {  setTimeout(resolve, 100, "two");});Promise.race([promise1, promise2]).then((value) => {  console.log(value);  // Both resolve, but promise2 is faster});// Expected output: "two"

Синтаксис

js
Promise.race(iterable);

Параметры

iterable

Итерируемый объект, такой как (Array). Смотриiterable.

Возвращаемое значение

Выполненный или отклонённыйPromise в зависимости от результата первого завершённого из переданных в итерируемом объекте промисов.

Описание

Методrace возвращаетPromise с результатом, первого завершённого из переданных промисов. Т.е. возвратит resolve или reject, в зависимости от того, что случится первым.

Примеры

ИспользованиеPromise.race – пример сsetTimeout

js
var p1 = new Promise(function (resolve, reject) {  setTimeout(resolve, 500, "один");});var p2 = new Promise(function (resolve, reject) {  setTimeout(resolve, 100, "два");});Promise.race([p1, p2]).then(function (value) {  console.log(value); // "два"  // Оба вернули resolve, однако p2 вернул результат первым});var p3 = new Promise(function (resolve, reject) {  setTimeout(resolve, 100, "три");});var p4 = new Promise(function (resolve, reject) {  setTimeout(reject, 500, "четыре");});Promise.race([p3, p4]).then(  function (value) {    console.log(value); // "три"    // p3 быстрее, поэтому выведется значение его resolve  },  function (reason) {    // Не вызывается  },);var p5 = new Promise(function (resolve, reject) {  setTimeout(resolve, 500, "пять");});var p6 = new Promise(function (resolve, reject) {  setTimeout(reject, 100, "шесть");});Promise.race([p5, p6]).then(  function (value) {    // Не вызывается  },  function (reason) {    console.log(reason); // "шесть"    // p6 быстрее, выводится его rejects  },);

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-promise.race

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp