我有一个后端 API 来创建新产品。前端 Angular 代码需要调用后端 API。如何使用**.subscribe**进行错误处理。我正在使用 HTTPClient 和 Observable 并一直在阅读有关 RXJS 如何利用错误处理的内容,
应用程序应将其称为 Observable 和 .subscribe()。
api/create 应该处理成功和失败(错误) - 如果API返回200:它应该打印成功 - 如果API返回400,应该抛出一个错误
伪代码
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
ID = 'foo';
this.http.post('/api/create', {
productName: this.form.value.productName,
productValue: this.form.value.productValue,
}).subscribe(
resp => this.onSubmitSuccess(resp), err => this.onSubmitFailure(err)
);
private onSubmitSuccess(resp) {
console.log(resp);
this.ID = resp.ID;
this.submitSuccess = true;
this.submitFailed = false;
}
private onSubmitFailure(resp) {
console.log(resp);
this.submitFailed = true;
this.submitSuccess = false;
} ```
最佳答案
早期版本曾经是这样的:
this.http.get(url).subscribe(
data =>
{
//do something
},
error =>
{
//handle error
}
);
在最新版本中,他们已弃用此格式。现在你必须做:
this.http.get(url).subscribe(
{
next: (data) =>
{
//do something
},
error: (error) =>
{
//handle error
}
}
);
关于typescript - RXJS Angular - 使用 .subscribe 和 Observable 进行错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62415271/