Angular 6 forkJoin не возвращает данные - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь сделать несколько запросов, используя цикл for, а затем с помощью forkJoin получить все данные сразу.

Чтобы получить данные, я создал одну функцию в своем сервисном компоненте, а затем внутри цикла for; после вызова этой функции я подписываюсь на нее и затем помещаю данные во временную переменную. И после этого, когда цикл for завершен, я ожидаю, что forkJoin подпишется и вернет значение.

Код:

const observables = [];
for (let i = 0; i < this.originalData.length; i++) {
       this.dashboardService.getDetails(this.id1[i], this.id2[i]).subscribe(data => {
           observables.push(data);
       });
}
forkJoin(observables).subscribe(dataGroup => {
    console.log(dataGroup);
});

Если я проверяю свою сеть в элементе inspect, я вижу, что он запрашивает эти URL-адреса, и ответ имеет статус 200, но в консоли я не вижу никаких ошибок, но в то же время нет никаких выходных данных от forkJoin subscribe , Я новичок в этом, так что, может быть, я не правильно понимаю, как использовать forkJoin.

Также я использую rxjs ":" ^ 6.0.0 ",

1 Ответ

0 голосов
/ 29 июня 2018

Сначала создайте массив наблюдаемых, а затем предоставьте эти наблюдаемые forkJoin:

const observables = [];
for (let i = 0; i < this.originalData.length; i++) {
      observables.push( this.dashboardService.getDetails(this.id1[i], this.id2[i])
       };

forkJoin(...observables).subscribe(dataGroup => {
    console.log(dataGroup);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...