> Каким методом промиса получить результат первого выполненного запроса (JavaScript)
Уровень: senior · Роль: qa · Категория: Технические вопросы
Компании: Автомакон
Стек: JavaScript
> Пример ответа
Для получения результата первого выполненного (успешного или отклонённого) промиса используется метод Promise.race(). Он принимает массив промисов и возвращает новый промис, который разрешается или отклоняется вместе с первым завершённым промисом.
Пример:
JAVASCRIPTconst promise1 = new Promise((resolve) => setTimeout(resolve, 100, 'быстрый'));const promise2 = new Promise((resolve) => setTimeout(resolve, 200, 'медленный'));Promise.race([promise1, promise2]).then(result => console.log(result)) // 'быстрый'.catch(error => console.error(error));
Если нужно получить результат именно первого успешного запроса (игнорируя ошибки), используйте Promise.any() (ES2021):
JAVASCRIPTconst promise1 = Promise.reject('ошибка');const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'успех'));Promise.any([promise1, promise2]).then(result => console.log(result)) // 'успех'.catch(error => console.error(error)); // AggregateError, если все отклонены
> Похожие задачи по qa
Будет ли порядок сохранения ключей важен при работе со словарём в Python
Напиши генератор в Python, который бесконечно возвращает числа
Можно ли вложить XML в JSON и JSON в XML
Был ли у вас опыт работы с JSON?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью