首页 > 解决方案 > 有没有办法在 JavaScript 承诺中定义默认错误回调?

问题描述

我目前有一个包装器jQuery.ajax(),它处理一些常见的错误检查并提供默认错误回调,以防没有其他定义。

function ajax(name, method, data, successCallback, errorCallback) {

    $.ajax({url: name, type: method, dataType: "json", data: data, success: json => {

        if (json.success) {

            //processing...

            if (successCallback === undefined)
                return;

            successCallback(json);

        } else {

            //processing...

            if (errorCallback !== undefined)
                errorCallback(json.message);
            else
                error(json.message); //default error callback

        }

    }, error: (jqXHR, textStatus, errorThrown) => {

        error(errorThrown);

    }});

}

我正在考虑改变使用承诺的方法。无论如何我可以为promise提供一个默认的错误回调,它可以被覆盖使用.catch(),甚至可以尝试catch with await?

标签: javascriptpromisecallback

解决方案


推荐阅读