У меня есть объект JavaScript с привилегированным методом. Когда этот метод завершится, я бы хотел, чтобы он вызывал сам себя (после небольшого тайм-аута) и продолжал работать до бесконечности. К сожалению, метод запускается только дважды, затем он останавливается без ошибок (проверено в Chrome и IE с одинаковыми результатами).
Код выглядит следующим образом:
function Test() {
// ... private variables that testMethod needs to access ...
this.testMethod = function() {
alert("Hello, from the method.");
setTimeout(this.testMethod, 2000);
};
}
var myTest = new Test();
myTest.testMethod();
Я ожидал бы получать оповещение каждые две секунды, но вместо этого оно показывает предупреждение только дважды, а затем останавливается. Вы можете увидеть живой пример здесь . Есть идеи, почему это происходит?