gpt4 book ai didi

rxjs - Observer.error 没有发送错误

转载 作者:行者123 更新时间:2023-12-02 04:29:02 25 4
gpt4 key购买 nike

我正在尝试在请求服务和订阅它的角度组件之间生成一个中间服务。为此,我从与中间服务连接的 httpClient 请求生成一个可观察对象,并发送 HTTP 响应。

当响应到达中间服务时,我生成另一个与客户端组件连接的可观察对象。问题从这里开始。当我从请求中获得 500 状态响应时,我在中间服务中获得了该响应,但是当我尝试使用 subscribe.error(err) 发送到客户端组件时> 它启动了一个永不结束的循环,并出现以下错误:

You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.

我在请求服务和中间服务中使用相同的observer.error(err),它只在请求中正常工作。

Request: 
Observable.create((observer: Observer<any>) =>
this.httpClient
.request(httpRequest)
.subscribe(
...
(res: HttpErrorResponse) => {
observer.error(res);
observer.complete();
},
() => {
observer.complete();
},
}
Intermediate Service:
Observable.create((observer: Observer<any>) =>
this.requestService.request(requestServiceOptions).subscribe(
...
(err: HttpErrorResponse) => {
if (err.status === 401) {
this.callbackWhenRequestFails();
} else {
observer.error(err);
observer.complete();
}
}

最佳答案

已经解决了。不幸的是,当我使用 return 而不是 throw 捕获错误时,这就是控制台显示流错误的原因!

关于rxjs - Observer.error 没有发送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50702689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com