代码之家  ›  专栏  ›  技术社区  ›  panagulis72

rest api调用未在angular 6和rxjs中发送

  •  -2
  • panagulis72  · 技术社区  · 6 年前

    我有这个方法 成分 以下内容:

    saveItem() {
       return this.itemService.updateItem(this.item)
         .pipe(
           tap((data: any) => {
             this.toastr.success('Saved');
           }),
           catchError((error: any) => {
           return throwError(error.error);
          }
        )
      )
    }
    

    这是里面的函数 项目服务 :

    updateItem(item: Item) {
        return this.http.post<any>(this.updateItemUrl, {
            item: item
        });
    }
    

    如果我在“return this.itemservice.updateitem(this.item)”行的saveitem()中放置了断点,并且在“return this.http…”行的updateitem()中放置了断点,则它会正确地进入断点并停止…… 但我有以下几点 问题 :不会触发rest api调用,也不会发送http调用。事实上,如果我在.pipe()运算符中放置了断点,它就不会进入为什么?

    1 回复  |  直到 6 年前
        1
  •  2
  •   JanRecker    6 年前

    可观察(如http请求)只有在至少有一个订阅者时才处于活动状态。

    =>没有订阅服务器=>没有Http请求

    您可以显式订阅

    myObservable.subscribe()
    

    或者通过html模板中的异步管道隐式地

    <span> {{ myObservable | async }} </span>
    

    热烈的问候