2

setTimeout()バックボーンモデルで使用しようとしています。次のコードは機能します setTimeout(this.ajaxRequest,4000) が、次のコードは機能しません: setTimeout(function(){ this.ajaxRequest; },4000);

_.bind(this.ajaxRequest, this);(Underscore.js)を使用しないか、

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

setTimeout 関数は、AJAX 応答が完了したときに呼び出され ( success:)、_.bindAll(this);実行されます。initialize:

4

1 に答える 1

4

setTimeout(function) 呼び出しで関数を呼び出していません。1 つ目は、setTimeout が呼び出している関数への参照を渡しています。2 つ目のインスタンスは、関数を渡していますが、その関数は何もしていません (実質的なことは何もしていません)。その関数は関数を呼び出す必要がありますthis.ajaxRequest()

var _this = this;
setTimeout(function(){ _this.ajaxRequest(); },4000);
于 2013-01-10T16:11:03.407 に答える