ich einen einfachen Code, der asynchrone Aufgaben beinhaltet:Rückruf aufgerufen, wenn eine Aufgabe abzuschließen, oder bereits fertig
// 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 };
}
Meine Forderung ist, dass onload
von Newsfeed benötigt in beiden Fällen ausgeführt werden:
- Wenn der Ajax von loadFeed beendet ist, führen Sie ihn sofort aus.
- Wenn der Ajax von loadFeed noch nicht fertig ist, renne danach.
'this.loadFeed();' wird einen Fehler auslösen. aber irgendwie klingt es so, als würdest du beschreiben, was ein Versprechen verspricht. Es wird einen Rückruf ausführen, wenn Sie fertig sind, und wenn Sie einen weiteren Rückruf hinzufügen, nachdem es fertig ist, wird es sofort mit dem Ergebnis aufgerufen. –
Danke, es war schlecht. Es sollte sein 'this.loadFeed = function()' –