Je le code suivant:JavaScript SetInterval - pointeur de fonction passe au lieu de chaîne
XService.start = function() {
setInterval("XService.poll()", XService.pollInterval); }
Cela fonctionne très bien. Cependant, quand je le fais (fonction qui passe comme référence au lieu d'avoir la chaîne eval'd) il cesse de fonctionner:
XService.start = function() {
setInterval(XService.poll, XService.pollInterval); }
Pourquoi? Qu'est-ce que je fais mal? Rien d'autre ne change dans mon code. J'ai aussi essayé XService.poll() dans la deuxième version mais pas de dés non plus. La documentation que j'ai lue a laissé le() dehors.
Aide?
Editer: XService.poll est une fonction; XService.pollInterval est un nombre. Les deux sont déclarés et assignés correctement.
Edit2: Le code Xservice:
XService = {};
XService.pollUrl = "/Poll";
XService.pollInterval = 60000;
XService.poll = function() {
$.get(this.pollUrl, null, null, "text"); }
XService.start = function() {
setInterval(XService.poll, XService.pollInterval); }
Obtenez-vous des erreurs? –
Peut-on voir tout le code pour XService? Cela peut avoir à voir avec la façon dont il est défini et en ce qui concerne les comportements en temps réel/temps d'exécution et comment l'évaluation est exécutée différemment. –
Publié le code XService – Alex