Я пытаюсь сделать несколько запросов HTTP, используя метод forkJoin. Мне нужно вернуть все значения, как простой запрос, но я сталкиваюсь с некоторыми ошибками.
Я использую угловую версию 8.2.3, а моя версия rxjs ~ 6.3.3
См. мой сервисный код:
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { map, catchError } from 'rxjs/operators';
import 'rxjs/add/observable/forkJoin';
import { Observable } from 'rxjs';
const PRAGMA = 'pragma';
const NO_CACHE = 'no-cache';
const CACHE_CONTROL = 'Cache-Control';
const URL = 'https://pokeapi.co/api/v2/';
@Injectable({
providedIn: 'root'
})
export class PokemonsService {
public loadPokemonByQuantity$: BehaviorSubject<any> = new BehaviorSubject(undefined);
constructor(private http: HttpClient) { }
public loadPokemonByQuantity(initial: number, final: number):Observable<any> {
const callArray = [];
const headers = new HttpHeaders({ CACHE_CONTROL: NO_CACHE, PRAGMA: NO_CACHE });
for (let index = initial; index <= final; index++) {
callArray.push(this.http.get<any>(`https://pokeapi.co/api/v2/pokemon/${index}`, { headers }));
}
return Observable.forkJoin(callArray)
}
}
stackblitz