Passando variáveis por uma cadeia de promessas [duplicado]
Esta pergunta já tem uma resposta aqui:
Como encadear e compartilhar resultados anteriores com o Promises [duplicado] 1 respostaExiste uma maneira melhor de fazer isso?
let foo;
return functionA().then(result => {
foo = result;
return functionB();
}).then(bar => {
return functionC(foo, bar);
});
Observe que o resultado defunctionA
é necessária entrada parafunctionC
. Usar uma variável fora do escopo da promessa funciona bem, mas parece meio nojento. Existe uma maneira idiomática limpa de fazer isso?
Observe que não tenho a oportunidade de alterar a API de nenhuma das funções que estou chamando.