我有一个简单的代码,包括异步任务:回调叫当任务完成或已经完成
// The NewsFeed Class
function NewsFeed() {
this.loadFeed = function() {
$.ajax({
url: "http://www.example.com",
success: function() {
// doSomething here, and call onload.
}
});
}
// Need to implement onload here somehow
this.onload = ?;
this.loadFeed();
return this;
}
NewsFeed.constructor = NewsFeed;
// In main JS file
var newsFeed = new NewsFeed();
$(function() {
// do something
newsFeed.onload = function() { // do something when news feed is loaded };
}
我的要求是,新闻推送的onload
需要在这两个情况下要执行:
- 如果loadFeed的ajax已完成,请立即运行它。
- 如果loadFeed的ajax还没有完成,请运行它。
'this.loadFeed();'会抛出一个错误。但无论如何,这听起来像你正在描述一个承诺所做的。它会在完成时执行回调,如果在完成后添加另一个回调,将立即调用结果。 –
谢谢,它是坏的。它应该是'this.loadFeed = function()' –