gpt4 book ai didi

angular - 错误处理 - 来自 API 的 500 在 angular5 中记录了一个神秘错误

转载 作者:行者123 更新时间:2023-12-03 08:47:51 25 4
gpt4 key购买 nike

我正在使用 Angular5。我有一个我认为很简单的设置。我有一个注入(inject)了调用 API 的 SignupService 的组件。如果没有任何问题,这一切都可以正常工作。但是,如果远程服务器返回一个错误(特别是 500 是我现在正在处理的,但任何错误都应该是相似的)我想在客户端适本地处理它。不幸的是,我在 catch 处理程序中不断收到这个无益的错误:

"You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable."



我觉得我缺少一些基本的东西,因为我的错误处理代码看起来与我在网上看到的其他代码示例相似。有人可以指出我正确的方向吗?谢谢!

摘自 signup.service.ts
public signup(value: SignupForm): Observable<TokenResponse | any> {
return this.http.post<TokenResponse>(
`${environment.AUTHENTICATION_API}/p/signup`,
value,
this.httpOptions
)
}

摘自 signup.component.ts:
public signup(value: SignupForm): void {
if (this.myForm.valid && !this.submitted) {
this.submitted = true;
// submit to API
this.service.signup(value)
.first()
.finally(() => {
this.submitted = false;
})
.subscribe(data => {
// handle session/token stuff, this works fine.
}, e => {
console.log('got error', e);
});
}
}

最佳答案

好的,正如我预期的那样,这最终是一件愚蠢的事情,我设置了一个 HTTP 拦截器,并且在出现 500 响应的情况下,我没有正确地将 Observable.throw(err) 返回给调用者。添加它使一切正常。

关于angular - 错误处理 - 来自 API 的 500 在 angular5 中记录了一个神秘错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49621989/

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