如何捕获 angular 2 中的错误?
How to catch errors in angular 2?
我有一个如下所示的服务器调用
成功案例,
状态---200
{error_code: 0, status: "success", results: [,…], message: "Album successfully found."}
在失败的情况下,
状态---401
Login credentials are incorrect.
我正在处理代码,
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(response => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
})
}
但这是一个错误(401-状态)。所以它不会进入其他 case.Can 任何人建议帮助处理或捕获这个 error.thanks。
订阅有错误回调:
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(
(response) => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
},
(error)=>{
console.log(error);
}
)
}
文档中的示例:https://angular.io/docs/ts/latest/guide/server-communication.html#!#the-herolistcomponent-class
Subscribe
方法有3个参数,第一个在收到成功响应时调用,第二个在收到错误响应时调用,第三个在完成时调用。你应该试试这个;
this.http.post(yourParameters).subscribe(response => {
console.log('success');
}, error => {
console.log('fail')
});
我也推荐你看看angular tutorial and Rxjs Subscribe。
您也可以使用 .catch
:
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(response => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
}).catch((err)=>{console.log(err)});
我有一个如下所示的服务器调用
成功案例,
状态---200
{error_code: 0, status: "success", results: [,…], message: "Album successfully found."}
在失败的情况下, 状态---401
Login credentials are incorrect.
我正在处理代码,
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(response => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
})
}
但这是一个错误(401-状态)。所以它不会进入其他 case.Can 任何人建议帮助处理或捕获这个 error.thanks。
订阅有错误回调:
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(
(response) => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
},
(error)=>{
console.log(error);
}
)
}
文档中的示例:https://angular.io/docs/ts/latest/guide/server-communication.html#!#the-herolistcomponent-class
Subscribe
方法有3个参数,第一个在收到成功响应时调用,第二个在收到错误响应时调用,第三个在完成时调用。你应该试试这个;
this.http.post(yourParameters).subscribe(response => {
console.log('success');
}, error => {
console.log('fail')
});
我也推荐你看看angular tutorial and Rxjs Subscribe。
您也可以使用 .catch
:
this.http.post(this.serverUrl+'login',loginForm.value,{headers: headers})
.subscribe(response => {
if (response.json().error_code === 0) {
console.log('success');
} else {
console.log('fail');
}
}).catch((err)=>{console.log(err)});