Back to questions
Middle+
3
function promiseWithResolve() { // Not implemented } const { resolve, promise } = promiseWithResolve(); promise.then((v) => console.log(v)) setTimeout(() => resolve(13), 10)
Companies where asked
Mayflower
Answer from AI
sobes.tech AI
Функция promiseWithResolve должна возвращать объект с двумя свойствами: promise — промис, и resolve — функция для его разрешения извне. Это можно реализовать, создав новый промис и сохранив функцию resolve в переменную, которую потом вернуть.
Пример реализации:
function promiseWithResolve() {
let resolve;
const promise = new Promise((res) => {
resolve = res;
});
return { resolve, promise };
}
const { resolve, promise } = promiseWithResolve();
promise.then((v) => console.log(v));
setTimeout(() => resolve(13), 10);
В этом примере через 10 миллисекунд вызывается resolve(13), что приводит к выполнению обработчика .then и выводу значения 13.