所以我正在尝试向我的 Ionic 2 应用程序中的 API 服务器发送 GET 请求,返回的 JSON 太大而无法放在一个页面中,因此服务器将其分成多个页面,每个页面都有不同的 URL(显然(。
我的问题是我不知道如何在同一个请求中调用另一个页面,我听说使用无限滚动会有所帮助,我查看了官方文档,但我仍然无法解决我的问题。
这是我的App.ts代码:
constructor(public navCtrl: NavController, public navParams:
NavParams,private http:Http) {
this.http.get("http://linkofAPI")
.subscribe(data => {
// console.log(data['_body']);
this.items = JSON.parse(data['_body']).data;//Bind data to items object
console.log(this.items);
}, error => {
console.log(error);// Error getting the data
});
}
还有我的应用程序.html
<ion-item class="items" *ngFor="let item of items; let i=index">
<h3 dir="rtl">{{item.content.ar.title}}</h3>
我不会在这里编写实际的代码,但会给你如何实现你想要的方向。
步骤:
1(声明一个变量,您希望在两个响应组合后最终包含结果。我不知道返回数据的结构,但我猜它返回某种数组,因为涉及分页。让此变量最初有 0 个元素。
2(以与您相同的方式独立提出这两个请求。这可确保第二个调用不必等待第一个调用完成,并且可以异步工作。
3( 当 GET 调用成功返回时,将元素添加到第一步中声明的变量中。如果您愿意,您可以使用"concat"函数在单个语句中实现此目的。
应该就是这样了。
如果你想打第一个电话,等待它的响应,然后再打第二个电话,我建议你看看"承诺链"。