Acceda al resultado de la promesa anterior dentro de un segundo

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) }