gpt4 book ai didi

javascript - 等待异步加载的类完成(无回调)

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:45 26 4
gpt4 key购买 nike

在调用它们之前等待异步加载类的正确方法是什么?

注意:我处于无法使用异步加载回调的复杂情况。

这是最好的方法吗?

callClassFunction : function () {
try {
waitingOnThisClass.someFunction();
} catch (e) {
setTimeout("superClass.callClassFunction()",250);
}
}

*jQuery 方法值得一提,如果有...

最佳答案

嗯。如果允许 jQuery -jquery promise 接口(interface)和 jQuery.Deferred 就是这样:

// Create a Deferred and return its Promise
function asyncEvent(){
var dfd = new jQuery.Deferred();
setTimeout(function(){
dfd.resolve("hurray");
}, Math.floor(Math.random()*1500));
setTimeout(function(){
dfd.reject("sorry");
}, Math.floor(Math.random()*1500));
return dfd.promise();
}

// Attach a done and fail handler for the asyncEvent
$.when( asyncEvent() ).then(
function(status){
alert( status+', things are going well' );
},
function(status){
alert( status+', you fail this time' );
}
);

另一个例子;

function doAjax(){
return $.get('foo.htm');
}

function doMoreAjax(){
return $.get('bar.htm');
}

$.when( doAjax(), doMoreAjax() )
.then(function(){
console.log( 'I fire once BOTH ajax requests have completed!' );
})
.fail(function(){
console.log( 'I fire if one or more requests failed.' );
});

关于javascript - 等待异步加载的类完成(无回调),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866453/

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