如何在jQuery Terminal中使用exceptionHandler并自定义错误提示消息
给jQuery Terminal添加友好的API错误提示
你可以通过为$.get请求添加错误回调,捕获API调用失败的情况,并输出自定义友好提示。同时修复原代码未声明变量的问题,避免全局污染。修改后的代码如下:
gemini: function(a){ // 声明局部变量,避免全局污染 let b, c, d, e; $.ajaxSetup({async: false}); $.get('https://api.github.com/repos/'+a) .done(function(x){ b = x.name; c = x.id; d = x.license?.name || '无开源许可证'; // 处理license为null的情况 e = x.svn_url; // 请求成功时输出信息 this.echo('name: '+b); this.echo('id: '+c); this.echo('license: '+d); this.echo('.zip: '+e+'/archive/master.zip'); }.bind(this)) // 绑定this指向Terminal实例 .fail(function(){ // 自定义错误提示,添加红色样式醒目区分 this.echo('*错误:无法获取仓库信息,请检查仓库路径是否正确*', {style: 'color: red;'}); }.bind(this)); },
关键修改说明:
- 用
.done()和.fail()链式调用分别处理请求成功、失败场景 - 通过
bind(this)确保回调里的this指向jQuery Terminal实例,正常调用this.echo() - 兼容
license为null的情况,避免额外报错 - 给错误提示添加红色样式,提升辨识度
- 声明局部变量,避免全局变量污染
另外不建议使用async: false同步请求,它会阻塞浏览器主线程影响体验。若允许,可直接去掉$.ajaxSetup({async: false}),代码逻辑无需其他调整。
内容的提问来源于stack exchange,提问作者Severus
相关产品推荐
相关产品推荐

