我在组件中使用了这种方法:
saveItem() {
return this.itemService.updateItem(this.item)
.pipe(
tap((data: any) => {
this.toastr.success('Saved');
}),
catchError((error: any) => {
return throwError(error.error);
}
)
)
}
这是 itemService 中的函数:
updateItem(item: Item) {
return this.http.post<any>(this.updateItemUrl, {
item: item
});
}
如果我在'return this.itemService。'行的saveItem()内部放置一个断点,并且如果我在'return this.http。行的updateItem()内部放置一个断点。 ..',它正确进入并停在了断点... 但是我有以下问题:不会触发rest-api调用,也不会发送http调用。.实际上,如果我在.pipe()运算符内放置一个断点,它将不进去。为什么?
答案 0 :(得分:1)
可观察对象(例如http-Requests)仅在具有至少一个订阅者的情况下才处于活动状态。
=>没有订阅者=>没有Http请求
您可以通过
明确订阅myObservable.subscribe()
或通过html模板中的异步管道隐式
<span> {{ myObservable | async }} </span>
热烈的问候