0
내부 루프가있는 모듈이 있습니다 ('settimeout'사용). 타이머가 발생할 때마다 콜백을 시작하려고합니다. 내가 뭔가처럼 .. 행운과 jQuery의 지연 개체를 사용하여 시도 :jquery를 사용하여 settimeout을 연기했습니다.
$(function(){
var module = new MyModule();
$.when(module.init()).then("DO Something");
});
function MyModule(){
this.d = $.Deferred();
}
test.prototype.init = function(){
clearTimeout(this.next);
var self = this;
/* Do Something */
self.d.resolve();
this.next = setTimeout(function(){
self.init(); /* The problem is here - internal call to self */
}, 4000);
return self.d.promise();
};
문제 타이머가 내부적으로 메소드를 호출, 내가 할 수있는 전화가없는 것입니다 "그 때는이 (뭔가를 할을);" 주 프로그램의 이전 학교 함수 콜백 (모듈에 콜백 함수 전달)을 사용할 수 있지만 이러한 훌륭한 기능을 실제로 사용하려고했습니다.
감사합니다,
Yaniv에게
좋은이 일을 알고있다. 제 경우에는 모든 통화에 대해 단 하나의 콜백이 필요합니다. 조금 지나친 것이 아닌가요? –
단 하나의 콜백이 보장된다면 그럴 수도 있습니다. 요구 사항에 따라 달라지며 앞으로 여러 콜백이 필요할 것으로 생각하는지 여부에 달려 있습니다. – dherman