Ich habe eine Masteransicht ( Services ) mit einer Sammlung von untergeordneten Ansichten ( Service ). Jede untergeordnete Ansicht muss sich alle 5 Sekunden aktualisieren. Um dies zu tun, hatte ich folgende [Auszug]:
%Vor% Der setTimeout
Aufruf an update()
hat natürlich funktioniert, da this
korrekt an die fragliche Ansicht gebunden war.
Das Problem tritt auf, wenn ich setTimeout in den Callback für fetch
verschiebe, da this
jetzt auf den globalen Bereich zeigt:
Wie kann ich eine kontinuierliche (nicht überlappende) Update-Funktion erreichen? Oder - wie kann ich den Geltungsbereich der Ansicht auf this
im fetch
-Rückruf anwenden?
Ich bin gerade über diese alte Frage gegangen, und für zukünftige Referenz folge ich diesem Muster heutzutage, da ich _.bind
OTT hier finde:
Ich weiß, dass dies eine alte Frage ist, aber die Erfolgs- und Fehlerereignisse geben drei Werte zurück: Modell, Antwort und Optionen. Anstatt this.update
innerhalb der Erfolgsfunktion aufzurufen, können Sie model.update
:
Tags und Links javascript backbone.js