我在努力调用聚合物元素中的函数。我知道你需要使用this.functionName();
,它才有用。
但当我在这样的setTimeout中时:runSoon = setTimeout(this.runNow(), 12000);
它在没有等待的情况下运行。
如果我这样写:runSoon = setTimeout(function(){this.runNow()}, 12000);
它会给我一条错误消息:Uncaught TypeError: this.runNow is not a function
。
此外,当我在Firebase中使用this.functionName时,它可以正常工作,但在“forEach”中,就像在此示例中一样,它会给出我的错误Uncaught TypeError: this.myFunction is not a function
:
ref.once('value', function(snapshot) {
snapshot.forEach(function(child) {
this.myFunction();
});
});
由于
答案 0 :(得分:5)
应该没有()
runSoon = setTimeout(this.runNow, 12000);
这样您就可以将参考传递给函数this.runNow
runSoon = setTimeout(this.runNow(), 12000);
将this.runNow()
的结果传递给setTimeout(...)