Files

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5cdafbd72913098997531681 Manipular uma promessa cumprida usando o then 1 301203 handle-a-fulfilled-promise-with-then

--description--

Promessas são úteis quando você tem um processo que leva uma quantidade de tempo desconhecido para ser finalizado (ou seja, algo assíncrono). Muitas vezes, uma requisição a um servidor. Fazer uma requisição a um servidor leva tempo, e após a requisição ser finalizada, você geralmente quer fazer algo com a resposta retornada. Isso pode ser feito usando o método then. O método then é executado imediatamente após a promessa ser cumprida com resolve. Exemplo:

myPromise.then(result => {

});

O parâmetro result vem do argumento dado ao método resolve.

--instructions--

Adicione o método then à sua promessa. Use result como parâmetro de sua função de callback e exiba result no console.

--hints--

Você deve chamar o método then na promessa.

assert(
  __helpers.removeWhiteSpace(code).match(/(makeServerRequest|\))\.then\(/g)
);

O método then deve ter uma função de callback com result como seu parâmetro.

assert(resultIsParameter);

Você deve exibir o valor do parâmetro result no console.

assert(
  resultIsParameter &&
    __helpers
      .removeWhiteSpace(code)
      .match(/\.then\(.*?result.*?console.log\(result\).*?\)/)
);

--seed--

--after-user-code--

const resultIsParameter = /\.then\((function\(result\){|result|\(result\)=>)/.test(__helpers.removeWhiteSpace(code));

--seed-contents--

const makeServerRequest = new Promise((resolve, reject) => {
  // responseFromServer is set to true to represent a successful response from a server
  let responseFromServer = true;

  if(responseFromServer) {
    resolve("We got the data");
  } else {  
    reject("Data not received");
  }
});

--solutions--

const makeServerRequest = new Promise((resolve, reject) => {
  // responseFromServer is set to true to represent a successful response from a server
  let responseFromServer = true;

  if(responseFromServer) {
    resolve("We got the data");
  } else {  
    reject("Data not received");
  }
});

makeServerRequest.then(result => {
  console.log(result);
});