使用Backbone.js在setTimeout()中运行

时间:2013-01-10 16:06:07

标签: javascript jquery backbone.js

我正在尝试在骨干模型中使用setTimeout()。下一个代码有效: setTimeout(this.ajaxRequest,4000) 但不是下一个: setTimeout(function(){ this.ajaxRequest; },4000);

既不使用_.bind(this.ajaxRequest, this);(Underscore.js)也不使用

timeoutFunction: function(){ this.ajaxRequest; }, setTimeout(this.timeoutFunction,4000);

在完成AJAX响应(success:)并在_.bindAll(this);

中执行initialize:时调用

setTimeout函数

1 个答案:

答案 0 :(得分:4)

您没有在setTimeout(函数)调用中调用函数。对于第一个,您将传递对setTimeout正在调用的函数的引用,您传递函数的第二个实例,并且该函数什么都不做(没什么实质性的)。该函数需要调用函数this.ajaxRequest()

var _this = this;
setTimeout(function(){ _this.ajaxRequest(); },4000);