Bom dia, estou com a seguinte situação, tenho o arquivo a.js, que chama uma função do arquivo b.js, dentro do b.js tem uma outra função que esta no arquivo c.js, o problema e que essa função faz uma chamada assincronia do modulo fs.
como eu faco para esperar o retorno de todas essas funções na mesma ordem que as chamei ?. Terei que criar uma Promise em cada função ? .
a.js
var b = require('./b');
function a(valor) {
return b.vai();
}
console.log(a());
b.js
var c = require('./c');
function MinhaClass(params) {
this.vai = testeB;
}
function testeB(){
var res = c.vai();
return "b" + res;
}
module.exports = new MinhaClass();
c.js
var fs = require('fs');
function MinhaClass(params) {
this.vai = testeC;
}
function testeC(){
return new Promise(function(resolve, reject){
fs.readFile('./teste.txt',function(erro, sucesso){
resolve(sucesso)
});
})
}
module.exports = new MinhaClass();
A ideia aqui e entender como trabalhar quando tenho duas chamas síncronas e uma assíncrona em sequencia, ambas dependendo do resultado da que chama.