我在JavaScript中定义了这个类:
function Signal(lbl, ho, tag) {
this.lbl = lbl;
this.ho = ho;
this.tag = tag;
this.getstatus = function () {
if (this.ho) {
$.get('/get.cgi?' + this.tag + '=?0', function (data) {
console.log(data);
setTimeout(this.getstatus, 1000);
});
}
};
}
一旦调用getstatus,它应该开始使用setTimout调用自己,但事实并非如此!它只能工作一次。
如果我使用没有类的函数,它可以工作!
请帮帮我。
谢谢!
答案 0 :(得分:3)
问题是当计时器调用getStatus
时,方法内的this
没有引用该对象,您可以使用{{1}传递this
的自定义值}。另请注意,在ajax中,回调bind()
引用了ajax设置对象。
this