Вам нужно позвонить foo.bar(qux)
только после того, как foo.bar(baz)
завершено.
Вот как вы вызываете асинхронную функцию внутри другой:
return foo.bar(baz).then((firstResult) => {
let message = firstResult;
// do some operation with firstResult
foo.bar(qux).then((secondResult) => {
message =+ secondResult;
console.log(message);
});
});
Лучший подход : Вы можете создать массив promise
, а затем использовать его, используя Promise.all()
следующим образом:
var promises = [
foo.bar(baz),
foo.bar(qux)
];
Promise.all(promises.map(p => p.catch(error => null))).then( results => {
let firstResult = results[0]
let secondResult = results[1];
console.log("firstResult -->", firstResult);
console.log("secondResult -->", secondResult );
});