Estoy usando el return pattern
para evitar que prometa una cascada fea. Aquí hay un ejemplo, llamo dos funciones, una después de la otra, mi myfunction1
y mi myfunction2
myfunction1().then((value1) => { return myfunction2() }).then((value2) => { console.log(value1) }).catch((err) => { console.error(err) })
¿Cómo puedo acceder a value1
dentro de la función de segundo paso?
Debes pasarlo por tu cadena. Por eso empecé a usar async/await
:
try { var value1 = await myfunction1(); var value2 = await myFunction2(); console.log(value1) } catch (err) { console.error(err) }
Tienes que “encadenar” tus promesas así:
myfunction1().then((value1) => { return myfunction2().then((value2) => { console.log(value1) }) }).catch((err) => { console.error(err) }