Выбор ответа Middle Современный синтаксис обновлено
Promise.withResolvers
Вопрос
Что возвращает Promise.withResolvers() (ES2024)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Объект { promise, resolve, reject } для завершения промиса снаружи. Promise.withResolvers() создаёт ожидающий промис и отдаёт объект с ним и его функциями resolve и reject.
Варианты ответа
- Уже выполненный промис со значением
undefined, какPromise.resolve() - Функцию, которая при вызове создаёт новый промис с переданными обработчиками
- Массив
[promise, resolve, reject], который удобно разобрать деструктуризацией - Объект
{ promise, resolve, reject }для завершения промиса снаружиправильный ответ
Разбор
Promise.withResolvers() создаёт ожидающий промис и отдаёт объект с ним и его функциями resolve и reject. Раньше для этого писали let resolve; const p = new Promise((r) => { resolve = r; });. Удобно, когда промис завершается из другого места: обработчик события, очередь, тест. Возвращается объект, а не массив, и промис изначально в состоянии pending.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.