Promises IX: Introdução à composição

O objeto Promise incorporado do javascript tem vários métodos que você pode usar para compor suas operações assíncronas. A função Promise.resolve() recebe um valor ou uma promise.

var original = Promise.resolve(33)
var cast = Promise.resolve(original)
cast.then(function(value) {
  console.log('value: ' + value)
})

Então, o que está acontecendo aqui?

  1. original recebe uma promise à qual é passado o valor 33.
  2. cast recebe a promise original.
  3. A função then recebe original e se torna a função then de original.
  4. Em seguida, ela obtém o valor de original(33) e o registra no console.

Outra coisa que Promise.resolve() faz é converter qualquer coisa que possa ser uma promise (ou seja, thenables) em uma Promise nativa do Javascript. Esse geralmente é o caso de uso.

Use um método de Promise para transformar o objeto thenable em uma promise nativa e atribua-o à variável promise. Atribua o valor fulfilled à variável result.

Observações

Confira a aba Resources se você ficar preso.