Недавно в JavaScript появился helper Promise.withResolvers. Слышал про такой? Нужно написать его аналог вместо второй строки.

Функция promiseWithResolver создаёт отложенный промис (deferred promise), возвращая объект с самим промисом и функцией для его разрешения (resolve).

Короткий ответ

Что ответить на собеседовании

Функция promiseWithResolver создаёт отложенный промис (deferred promise), возвращая объект с самим промисом и функцией для его разрешения (resolve). Это полезно, когда нужно контролировать момент разрешения промиса извне.

Подробный разбор

Ответ с пояснениями

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее