Sobes.tech
Middle

Реализирайте функцията promiseWithResolver (отложено обещание), която връща обект с полетата resolve и promise.

sobes.tech AI

Отговор от 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('Разрешено с:', value));
deferred.resolve('Успех');

В този пример resolve е достъпно отвън и може да бъде извикано по всяко време, за да се разреши обещанието.