我有一個簡單的代碼,包括異步任務:回調叫當任務完成或已經完成
// 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()' –