如何在Angular 2中使用多个Http请求

时间:2017-07-15 10:42:24

标签: javascript angular api typescript

我正在使用Angular 4&一个API,其请求有多个页面。

例如,我使用此网址获得10个第一个字符: http://swapi.co/api/people/

要获得接下来的10个人,我必须向此网址发出请求:http://swapi.co/api/people/?page=2

如何在一个请求中获取所有人?或者通过良好实践制定所有请求的解决方案是什么?

1 个答案:

答案 0 :(得分:13)

您必须使用forkJoin方法才能从多个来源加载数据。

首先,将它们包含在typescript文件中。

import {Observable} from 'rxjs/Rx';

很多时候,我们需要从多个来源加载数据,我们需要等到所有数据都加载完毕。

forkJoin方法包含多个Observables。换句话说,我们使用forkJoin来运行concurrent http 请求

<{> 1}} subscribe()方法在整个 Observables 上设置处理程序。

您可以阅读有关 forkJoin here的更多信息,包括大量示例。

假设您必须获得前10页。

forkJoin

或简单地说:var pages:number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var pages:number[]=new Array(10).fill().map((v,i)=>i+1);