Как вызвать множественный запрос в угловом и получить результат вместе?

naveen спросил: 13 июня 2018 в 11:11 в: javascript

Я пытаюсь использовать forkJoin в угловом для асинхронного запроса нескольких запросов и получения данных. Мне это нравится но ниже ошибки

вот мой код

https://stackblitz.com/edit/angular-3jpqrc?file=src%2Fapp%2Fapp.component.ts

(этот запрос не работает с https http://api.mathjs.org/v4/?expr=)

код службы

getcalculation(n:number){
    const url = 'http://api.mathjs.org/v4/?expr='+n+'*'+n;
    return this.http.get(url);
  }

код компонента

ngOnInit(){
    this.showAddButton = true;    for(let i =0;i <this.item.length;i++){
      this.allSubScription$.push(this.dataservice.getcalculation(i));
    }    forkJoin(this.allSubScription$).subscribe((result)=>{
      console.log(result)
    },(err)=>{
      console.log(err)
    })  }

по локальной, я получаю эту ошибку

1 ответ

Abel Valdez ответил: 13 июня 2018 в 12:42

Реализует следующий код, добавляет только массив allSubScription$ в forkJoin и, используя подписку, ответ будет массивом с каждым запросом api.

 for(let i =0;i <this.item.length;i++){
      this.allSubScription$.push(this.dataservice.getcalculation(i));
    }    forkJoin(
        this.allSubScription$
      ).subscribe((res) => {
        console.log(res[0]);
        console.log(res[1]);
        console.log(res[2]);
      }) 

У меня были проблемы с запуском api url, и я просто заставляю реакцию имитировать api response.demo

naveen ответил: 13 июня 2018 в 01:41
что происходит, когда какой-либо из api терпит неудачу
Abel Valdez ответил: 13 июня 2018 в 02:20
Вся ошибка forkjoin не работает

Дополнительное видео по вопросу: Как вызвать множественный запрос в угловом и получить результат вместе?

Практический JavaScript. GET и POST запросы

Как создать JSON запрос и сделать фейковый сервер

Node.js. Урок 4. Работа с http запросами