Сейчас у меня есть программа, в которой я хочу вызвать несколько REST API: параллельно, но меня интересует только результат одного из них.
В настоящее время я решил это следующим образом:
private async loadData () {
const all = [this.loadFirstData(), this.loadSecondData(), this.loadThirdData()];
const combine = Promise.all(all);
await combine;
// One of the promises just puts it's return value in this global variable, so that I can access it after it is done.
if (this.valueFromThirdAPI) {
// Do something with value
}
}
Итак, я просто помещаю результат put из обещания, от которого я хочу получить результат, в глобальную переменную, к которой я могу получить доступ после возврата всех обещаний. Это работает, но я уверен, что должен быть гораздо лучший способ сделать это.
Promises.all
возвращает массив разрешенных значений, но как отличить guish их от каждого другой, если меня интересует только ценность одного из них? Двум другим не нужно ничего возвращать.
Заранее спасибо!