Sobes.tech
Назад к вопросам
Middle+
2

function promiseWithResolve() { // Not implemented } const { resolve, promise } = promiseWithResolve(); promise.then((v) => console.log(v)) setTimeout(() => resolve(13), 10)

Компании, где спрашивали
Mayflower

Ответ от нейросети

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.