Promises: Realizar operaciones secuenciales de Promises: Realizar operaciones secuenciales

Promises: Realizar operaciones secuenciales

☆ Retornando una promise dentro de then()

Retornar una nueva Promise dentro de then() provocará que este método retorne esta nueva promise.

var promise = Promise.resolve("hola");

var promise2 = promise.then((result) => {
  console.log(result); // imprime 'hola'
  return Promise.resolve("12345"); // retorna un nuevo promise con el valor 12345
});

promise2.then(function (result) {
  console.log(result); // 12345
});

☆ ¿Cómo realizar operaciones asíncronas secuenciales con Promises?

Las operaciones asíncronas pueden ser secuenciadas retornando Promises dentro de los callbacks then().

obtenerNumeroAleatorio()
  .then(function (result) {
    console.log(result);
    return obtenerNombreDesdeNumero(result);
  })
  .then(function (result2) {
    console.log(result2);
    return obtenerEdadDesdeNombre(result2);
  })
  .then(function (result3) {
    console.log(result3);
  })
  .catch(function (error) {
    console.log(error);
  });

Si cualquiera de las funciones then() retorna una Promise rejected catch() capturara dicho resultado.