@Leopandro
Разработчик CRM/ERP систем

Как зарезолвить окончание выполнения нескольких асинхронных функций?

Есть несколько функций:
this.userService.getLegalsList(this.getUserListParams()).subscribe(data => {
//лишний код
}
this.userService.getAll({params : {all:true,blocked:'0',role:'driver'}}).subscribe(data => {
//лишний код
}
route.data.subscribe(data => { 
//лишний код
}

Задача простая - нужно каким то образом задетектить завершение всех этих функций и после этого выполнить другую функцию. Причем последовательно выполнять не круто - слишком медленно работает сайт.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 2
kn1ght_t
@kn1ght_t
Promise.all
Ответ написан
@Advarius
const legalUsers$ = this.userService.getLegalsList(...);
const allUsers$ = this.userService.getAll(...);
const routeData$ = route.data;

legalUser$
    .combineLatest(allUser$, routeData$)
    .subscribe(([data1, data2, data3]) => {
        ...
    });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час