【发布时间】:2019-07-04 09:54:02
【问题描述】:
在我的应用程序中,我需要在开始创建一些对象之前进行大量 http 调用... 所以只有当所有的http请求都收到服务器的结果后,我才能处理所有的结果并构建我的页面......
为了实现这一点,我使用 forkJoin 实现了一个方法,如下所示:
let req1 = this.http.get<MyObject>('http:/whatever/getData1');
let req2 = this.http.get<MyObject>('http:/whatever/getData2');
let req3 = this.http.get<MyObject>('http:/whatever/getData3');
let req4 = this.http.get<MyObject>('http:/whatever/getData4');
this.searchSubscription = forkJoin([Observable.of(new Object()), req1,req2,req3,req4]).subscribe(
results => {
console.log("data loaded let's start...");
},
err =>{
console.log("Something went worg:" + err);
}
);
这是正确/最好的方法吗?
【问题讨论】:
-
正确:它有效吗?最佳:您将如何确定?
-
我没有得到你的评论,我的代码有效......
-
那你为什么要问它是否正确?至于“最佳”,你的标准和限制是什么?
-
再次,我没有得到您的评论,有些东西可以工作,但可能会被错误地实施......
-
因此,如果您的代码这样做,那就是正确的。也许有“更好”的方法来写它,但不知道更好对你意味着什么,谁能告诉你?
标签: angular rxjs angular-httpclient