我正在使用新的语法来符合RXJS 6
pipe()
.也使用角6。我有一个处理HTTP请求的服务,它通过管道映射和
catchError
在连接错误的情况下显示Toast。不过,如果我加上
捕获错误
我进入控制台
您在需要流的位置提供了“undefined”。您可以提供一个可观察的、承诺的、数组的或不可观察的。
getDataHttpRequest(url, returnType) {
return this.http.get(url, this.getRequestOptions())
.pipe(
map((response) => {
if(response){
if (returnType === 'object') {
return response[0] == undefined ? response : response[0];
} else {
return response;
}
}
}),
catchError((error):any => {
if(error instanceof HttpErrorResponse && error.status === 0){
//no connection error(either user has no connection or the server is down)
this.toastr.error('Chequee su conexión e intente de nuevo en unos momentos. Contáctenos para reportar el problema a <a href="mailto:dev@info.com">dev@info.com</a>',"Error de Conexión",{tapToDismiss:true, disableTimeOut: true});
}
throwError(`Connection Error: ${error}`);
})
);
}
如果我移除
捕获错误
函数中的错误会消失在控制台中,所以这就是代码的中断部分。有什么问题吗?