¿Cómo utilizar return dentro de then en las Promises de JavaScript?
Los resultados de un promise pueden ser transformados utilizando la sentencia return dentro del callback then()
. Esto provocará que el método then()
retorne un nuevo promise con el valor transformado.
var promise = Promise.resolve("hello");
var promise2 = promise.then(function (result) {
console.log(result);
return result + " mundo";
});
promise2.then(function (result) {
console.log(result);
});
¿Cómo encadenar las promises en JavaScript?
Multiples transformaciones pueden ser encadenadas utilizando multiples llamadas a then()
.
var promise = Promise.resolve([1, 2, 3, 4]);
promise
.then(function (result) {
console.log(result);
return result.map((x) => x * x); // transforma valor por valor al cuadrado
})
.then(function (result2) {
console.log(result2);
return result2.filter((x) => x > 10); // filtrar valores a solo mayor de 10
})
.then(function (result3) {
console.log(result3);
return result3.toString() + "!!"; // convierte en string
})
.then(function (result4) {
console.log(result4);
return result4;
})
.catch(function (error) {
console.log(error);
});