【发布时间】:2020-07-10 06:55:20
【问题描述】:
在我的应用程序中,我正在尝试实现 loadAll 方法。
需要做的是调用2个http方法来加载数据。
这两个方法返回承诺。
当我尝试将它们组合成一个承诺时,我得到了一个错误。
loadAll() {
return new Promise((resolve, reject) => {
resolve(
this.getAllItem1ToConnect(),
this.getAllItem2ToConnect();
);
}
);
}
我意识到这是错误的,我该如何实现?
getAllItem1ToConnect 方法:
getAllItem1ToConnect() {
return this.http.get<Item1[]>(this.path + '/item').toPromise().then((res: Item1[]) => {
this.items1 = res;
});
}
如何将getAllItem1ToConnect 和getAllItem2ToConnect 组合成1 个promise?
【问题讨论】:
-
我建议你跳过
toPromise()并学习如何使用 observables -
@ShamPooSham 谢谢,但我需要它是一个明确的承诺......别担心,我在其他任何地方都使用 observables :)
-
很好 :) 我到处都能看到,人们使用 toPromise 是因为他们害怕可观察的东西。但是,是的,有时你只需要使用承诺
-
如果您刚开始项目,我强烈建议您坚持使用 rxjs。无论如何,您都必须拥有它,这样您就可以利用它的好处,而不必来回承诺。
-
@bryjohns 谢谢,这实际上是为了项目结束时的一个特殊功能......
标签: angular typescript promise