С помощью async/await
этого можно достичь.
export class AsyncAwaitExample {
constructor() {
}
getTimeLecs(str1, str2) {
return Promise.resolve(str1 + ":" + str2).then(v => console.log(v));
}
async getTimeALL() {
await Promise.all([
this.getTimeLecs(10, 20),
this.getTimeLecs(20, 30),
this.getTimeLecs(30, 40)]
);
this.finalCall();
}
finalCall() {
console.log('final call');
}
}
let example = new AsyncAwaitExample();
example.getTimeALL();
Здесь
await Promise.all([
this.getTimeLecs(10, 20),
this.getTimeLecs(20, 30),
this.getTimeLecs(30, 40)]
);
ждет разрешения всех обещаний и затем вызывает метод finalCall()
.чтобы проверить, работает ли это или нет, удалите await
из приведенного выше кода и посмотрите результаты в консоли.Проверьте Демо , чтобы увидеть его в действии.