You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:07:01