Назад к вопросам
Middle
5
Реализуй функцию promiseWithResolver (deferred promise), которая возвращает объект с полями resolve и promise.
Компании, где спрашивали
Mayflower
Ответ от нейросети
sobes.tech AI
Функция promiseWithResolver создаёт отложенный промис (deferred promise), возвращая объект с самим промисом и функцией для его разрешения (resolve). Это полезно, когда нужно контролировать момент разрешения промиса извне.
Пример реализации на JavaScript:
function promiseWithResolver() {
let resolve;
const promise = new Promise(res => {
resolve = res;
});
return { promise, resolve };
}
// Использование:
const deferred = promiseWithResolver();
deferred.promise.then(value => console.log('Resolved with:', value));
deferred.resolve('Success');
В этом примере resolve доступен снаружи, и мы можем вызвать его в любое время, чтобы разрешить промис.