我有一个后端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;
} ```
字符串
3条答案
按热度按时间bwitn5fc1#
早期的版本是这样的:
字符串
在最新版本中,他们已弃用此格式。现在你必须做:
型
p3rjfoxz2#
处理请求错误。Angular官方文档
字符串
lrpiutwd3#
如果您不能使用
async
管道而必须使用subscribe,则使用pipe
操作符是最佳实践,并允许您在组件被销毁时取消订阅。使用操作符来放置逻辑更实用,因为subscribe应该仅用于显示正在观察流。它可能是这样的:字符串