Sobes.tech
Middle

Implemente a função promiseWithResolver (promessa diferida), que retorna um objeto com os campos resolve e promise.

sobes.tech IA

Resposta da IA

A função promiseWithResolver cria uma promessa adiada, retornando um objeto com a própria promessa e uma função para a resolver (resolve). Isto é útil quando é necessário controlar o momento de resolução da promessa de fora.

Exemplo de implementação em JavaScript:

function promiseWithResolver() {
  let resolve;
  const promise = new Promise(res => {
    resolve = res;
  });
  return { promise, resolve };
}

// Uso:
const deferred = promiseWithResolver();
deferred.promise.then(value => console.log('Resolvido com:', value));
deferred.resolve('Sucesso');

Neste exemplo, resolve está acessível de fora, e podemos chamá-lo a qualquer momento para resolver a promessa.