gpt4 book ai didi

javascript - 添加错误控制到 .when.then 和 xdr 请求

转载 作者:行者123 更新时间:2023-12-02 18:23:42 25 4
gpt4 key购买 nike

所以我有一些代码可以获取一个 json 文件,然后将其传递到引导页面,从而启动我的应用程序

所以我有一个函数可以获取文件并返回回调

function makeCorsRequest(method, url, callbackFunction)
{
if ($.browser.msie && window.XDomainRequest) {
var xdr = new XDomainRequest();
xdr.open(method, url);
xdr.onload = function() {
var JSON = $.parseJSON(xdr.responseText);
if (JSON == null || typeof (JSON) == 'undefined')
{
JSON = $.parseJSON(data.firstChild.textContent);
}
window[callbackFunction](JSON);
};
xdr.onprogress = function() {};
xdr.send();
} else {
var promise = $.ajax({
url: url,
method: method,
dataType: 'json'
});

$.when(promise).then(function(result) {
window[callbackFunction](result);
});
}
}

然后是一些调用它的代码

$(document).ready(function() {           
makeCorsRequest('GET', '/data/data.json', 'processData');
});

这有效,当返回 json 时,processData 会运行,但是当无法加载 json 并且 processData 未运行时,我需要一些错误处理来处理..

什么是做到这一点的好方法?

最佳答案

无需使用 $.when -> $.then 因为您可以使用 提供的 .done() 和 .fail() 回调 promise

promise.done(function (result) {
//success callback
window[callbackFunction](result);
}).fail(function(){
//error callback
});

关于javascript - 添加错误控制到 .when.then 和 xdr 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com