【问题标题】:Add Promise return type to method in Angular将 Promise 返回类型添加到 Angular 中的方法
【发布时间】:2018-09-04 02:55:52
【问题描述】:

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

  basketItemNodes: TreeNode[] = [];

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

如何将返回类型更改为PromiseObservable

【问题讨论】:

  • 如果你需要这个函数返回一个 observable,你需要在不订阅的情况下返回它。 getBasketItems() { return this.basketService.getAllBasketItems(); }

标签: angular typescript promise return observable


【解决方案1】:

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

basketItemNodes: TreeNode[] = [];

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    相关资源
    最近更新 更多