.
. -----------------------------------------
. ESCUDO ANTI SPOILER
. -----------------------------------------
.
. Este reto si que me hizo sudar.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
pues bien hay que modificar los dos archivos, no sean como yo que pensaba que solo era uno.
Primero que nada, noten que en este ejercicio hay dos archivos, por si les pasa como a mí que no entendía qué hacia doTask1,doTask2 y doTask3 hasta que encontré el archivo
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
exercise.js
import{ doTask1, doTask2, doTask3 }from'./tasks';exportfunctionrunCode(){const strings =[];returndoTask1().then(function(rta1){//Agrego la respuesta1 a strings y llamo a doTask2 strings.push(rta1);returndoTask2();}).then(function(rta2){//Agrego la respuesta2 a strings y llamo a doTask3 strings.push(rta2);returndoTask3();}).then(function(rta3){//Agrego la respuesta3 a strings y retorno strings strings.push(rta3);return strings;})}
¿Qué es lo que te causa conflicto para resolver este ejercicio?
Hola Diego,
Te aconsejo que veas el problema paso a paso.
Puedes empezar con lo más sencillo que será coger el archivo tasks.js y convertir estos callbacks a promesas. (Mira la estructura de como se realiza una promise, que hace el callback y como lo puedes cambiar, esperando el mismo resultado).
Luego en el archivo principal, transformas el callback hell a un Encadenamiento de promesas, pero como haces esto dirás, te paso este enlace: https://es.javascript.info/promise-chaining.
Ve poco a poco, muchas veces la respuesta no dará ni siquiera en el quinto intento, Pero podrás hacerlo con paciencia y verás que lo lograrás.
A mi también me ayuda, ver código de los otros compañeros y entenderlo.
Un poco tarde la respuesta, pero si no te sirve a ti ojalá le sirva a otros.
Hice el cambio en el archivo tasks.js y me aceptó las pruebas 😅
Esto es un escudo anti-Spoiler
.
.
.
.
…
.
.
.
…
En mi opinión falto redactar un poco mejor las instrucciones, luego todo bien. Deben fijarse que hay un archivo tasks.js el cual pueden consultar. Inicialmente le preste mucha atención al exercise.js y no note hasta muy tarde el porque mi código estaba fallando. En fin suerte a todos 😃
NO MIRES ESO AMIGO
PERO SI INSISTES
functionrunCode(){const strings =[];returnnewPromise((resolve)=>{/* doTask1((rta1) => {
strings.push(rta1);
doTask2((rta2) => {
strings.push(rta2);
doTask3((rta3) => {
strings.push(rta3);
resolve(strings);
})
})
}) */doTask1().then(response=>{ strings.push(response)returndoTask2();//llama a la siguiente promesa para que se ejecute}).then(response=>{//response hace referencia al valor de respuesta de la promesa doTask2() strings.push(response)returndoTask3();//llama a la siguiente promesa para que se ejecute}).then(response=>{//response hace referencia al valor de respuesta de la promesa doTask3() strings.push(response)returnresolve(strings)//retorna el arreglo de strings})})}