Sobes.tech
Назад к вопросам
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 доступен снаружи, и мы можем вызвать его в любое время, чтобы разрешить промис.