将Promise返回类型添加到Angular中的方法

时间:2018-09-03 18:34:24

标签: angular typescript promise return observable

我有以下方法返回一个TreeNodes数组

  basketItemNodes: TreeNode[] = [];

  getBasketItems() {
    this.basketService.getAllBasketItems()
      .subscribe(
        res => {
          this.basketItemNodes = <TreeNode []> res;            
        },
        err => {
          console.log(err);
        }
      );
      return this.basketItemNodes;
  }

如何将返回类型更改为承诺可观察

1 个答案:

答案 0 :(得分:1)

如果您想返回Observable,请不要在此处订阅。相反,您可以简单地将响应映射到<TreeNode []>并返回。

basketItemNodes: TreeNode[] = [];

getBasketItems() {
    return this.basketService.getAllBasketItems()
      .pipe(map(res => this.basketItemNodes = <TreeNode[]> res));
}