Angular应用里HTTP请求的错误处理
在需要进行错误处理的Angular应用里,从rxjs里导入catchError:
import { catchError, map, tap } from 'rxjs/operators';
getHeroes(): Observable<Hero[]> {return this.http.get<Hero[]>(this.heroesUrl).pipe(catchError(this.handleError<Hero[]>('getHeroes', [])));}
The catchError() operator intercepts an Observable that failed. It passes the error an error handler that can do what it wants with the error.
catchError这个操作符可以拦截发生错误的Observable, 将其传递给应用程序指定的错误处理方法去。
handleError的方法实现:
/*** Handle Http operation that failed.* Let the app continue.* @param operation - name of the operation that failed* @param result - optional value to return as the observable result*/
private handleError<T>(operation = 'operation', result?: T) {return (error: any): Observable<T> => {// TODO: send the error to remote logging infrastructureconsole.error(error); // log to console instead// TODO: better job of transforming error for user consumptionthis.log(`${operation} failed: ${error.message}`);// Let the app keep running by returning an empty result.return of(result as T);};
}
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
Angular应用里HTTP请求的错误处理相关推荐
- 关于Angular使用http发送请求后的响应处理
源代码: import { Component, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms' ...
- angluar ajax实例,Angular服务Request异步请求的实例讲解
首先这里我简单写个例子来方便您的理解 var request = { post: function() { var errorCallback = { error: function(f) { thi ...
- Angular Img标签自定义请求header Authorization
Angular Img标签自定义请求header Authorization 背景 是这样的需求,有一个web页面,里面图片的上传和预览来自于一个独立的文件服务器,对http的请求需要进行访问权限的设 ...
- http数字请求 (错误请求聚合)
http数字请求 (错误请求聚合) 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客 ...
- 【Angular中的HTTP请求】- 拦截器 HttpInterceptor 详解
通过学习 HttpClient 的工作机制 ,我们知道对于HTTP请求,HttpClient 实际上是构建了一个链式的处理流程: 在HttpBackend的处理流程中请求被发出.在HttpBacken ...
- Angular 项目里 angular.json 文件内容的学习笔记
看一个基于 Angular 的 SAP Spartacus 项目里 angular.json 的例子: version: The configuration-file version. newProj ...
- Angular应用里setTimeout被如何被monkey patched的
monkey patched: monkey patch指的是在运行时动态替换,一般是在startup的时候. 下面的测试代码可以让我们弄清楚,浏览器支持的原生函数setTimeout,是如何在Ang ...
- Angular应用里的tsconfig.app.json
tsconfig.app.json是tsconfig.json的扩展: 在应用工程文件angular.json里的tsConfig字段处被引用: ng build后的输出: 2020年10月4日国庆节 ...
- Angular应用里的Template Reference变量
Angular应用里的Template Reference Variable,模板引用变量,用于创建一个对模板里DOM元素或者Angular指令的引用. 使用#号定义一个模板引用变量. 看个具体的例子 ...
最新文章
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间(dp)
- 左耳朵耗子论微服务 Serverless 及 FaaS | GIAC 访谈
- 控制反转(ioc)和 面向切面(AOP)
- MVCToolKit中HtmlHelper.ActionLink的BUG?
- NLP(新闻文本分类)——基于机器学习的文本分类
- Windows下安装MySQL
- 计算机专业薪资首超金融,“年薪20万”大学专业排名出炉,人工智能蝉联榜首,金融无缘前五...
- SSM中异常的几种处理方式
- smtplib,发送邮件时的bug
- 格林时间转yyyy-MM-dd hh:mm:ss
- CMD下复制文件和文件夹
- python快递价格查询系统
- 程序员从互联网跳央企,晒一天工作和收入
- android fragment横屏,Fragment横竖屏
- 【WMCA】《Biometric Face Presentation Attack Detection with Multi-Channel Convolutional Neural Network》
- 算符优先分析法-java实现
- EasyNVS摄像机公网全终端无插件网页摄像机直播管理服务EasyNVS如何在内网环境下与外网和公网对接
- 又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录
- CASIA手写体数据集HWDB1.0 gnt和dgrl格式解析
- android解析解析数据格式文件,android 解析nmea原始数据