Расскажите про все методы Promise?

Этот вопрос проверяет знание всех методов объекта Promise, которые используются для управления асинхронными операциями в JavaScript.

Короткий ответ

Основные методы промиса включают: then() — для обработки успешного выполнения, catch() — для обработки ошибок, finally() — для выполнения кода по завершению промиса, независимо от результата. Есть также методы Promise.all(), Promise.race(), Promise.allSettled() и Promise.any(), которые позволяют работать с несколькими промисами одновременно.

Длинный ответ

Объект Promise в JavaScript предоставляет несколько методов для управления асинхронными операциями:

- then(onFulfilled, onRejected) — используется для обработки успешного выполнения промиса или ошибок.

- catch(onRejected) — ловит ошибки, которые произошли в промисе или в одном из последующих then().

- finally(onFinally) — выполняется в любом случае, когда промис завершен (успешно или с ошибкой).

 

- Promise.all(promises) — принимает массив промисов и возвращает новый промис, который выполнится только тогда, когда все переданные промисы завершатся. Если хотя бы один промис будет отклонён, Promise.all отклонит результат.

- Promise.race(promises) — возвращает промис, который выполнится или будет отклонён первым среди переданных промисов.

- Promise.allSettled(promises) — возвращает новый промис, который выполнится, когда все переданные промисы завершатся (успешно или с ошибкой), и возвращает массив объектов с результатами.

- Promise.any(promises) — возвращает первый успешный промис среди переданных, игнорируя отклоненные промисы.

 

Пример использования метода Promise.all():

const promise1 = Promise.resolve(10); 
const promise2 = Promise.resolve(20); 
const promise3 = new Promise((resolve) => setTimeout(resolve, 1000, 30)); 

Promise.all([promise1, promise2, promise3]).then((values) => {
  console.log(values); // [10, 20, 30] 
});

Эти методы предоставляют гибкие инструменты для работы с несколькими асинхронными операциями, позволяя вам контролировать их выполнение и обработку.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

Подпишись на React Developer в телеграм