ionic 调用restful API services时全局错误处理的实现 或自定义错误处理的实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ionic 调用restful API services时全局错误处理的实现 或自定义错误处理的实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1632字,纯文字阅读大概需要3分钟。
内容图文
往往我们的ionic程序需要调用API Service. 比如天气,地图等等。当这些API Service 不稳定或者不可访问时,我们可以通过在注册一个自定义的ErrorHandler, 来处理此类错误。
1. 将自定义错误处理类作为provider, 也就是Service. 在终端使用命令: ionic g provider GlobalErrorHandler . ionic generate 命令行定义可以参考此处
2. 实现GlobalErrorHandler, 完整代码如下。
import { ErrorHandler, Injectable } from ‘@angular/core‘;
import { AlertController } from ‘ionic-angular‘;
@Injectable()
export class GlobalErrorHandler extends ErrorHandler {
constructor(public alertCtrl: AlertController) {
super();
}
handleError(error: any): void {
super.handleError(error);
// IMPORTANT: Rethrow the error otherwise it gets swallowed
if (error) {
if (error.status === 0 && error.name === ‘HttpErrorResponse‘ && error.statusText === ‘Unknown Error‘) {
this.showAlert(‘ 后台服务遇到了问题,目前正在修复中,请稍后访问,给您带来不便,深表歉意。‘);
//It‘s better to add this to log file.
}
}
}
showAlert(subTitleText) {
let alert = this.alertCtrl.create({
title: ‘发生错误!‘,
subTitle: subTitleText,
buttons: [‘确定‘]
});
alert.present();
}
}
3. 在 \src\app\app.module.ts 中注册 GlobalErrorHandler . 以下是代码片段, 请关注粗体部分。
import { GlobalErrorHandler } from ‘../providers/global-error-handler/global-error-handler‘;
@NgModule({
declarations: [...],
imports: [...],
bootstrap: [IonicApp],
entryComponents: [
MyApp
],
providers: [
{provide: ErrorHandler, useClass: GlobalErrorHandler},
// IMP. GlobalErrorHandler should be here, otherwise it would not be triggered.
GlobalErrorHandler
]
})
export class AppModule {}
这样的话,我们就在ionic程序中引入了全局错误处理。 一旦第三方的services 或者我们自己的service 发生错误不可访问时, 页面将会有Alert弹出。 如下图所示。
原文:https://www.cnblogs.com/caiyaming/p/9219126.html
内容总结
以上是互联网集市为您收集整理的ionic 调用restful API services时全局错误处理的实现 或自定义错误处理的实现全部内容,希望文章能够帮你解决ionic 调用restful API services时全局错误处理的实现 或自定义错误处理的实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。