Javascript setinterval函数不适用于MAC safari

时间:2012-11-14 01:55:32

标签: javascript safari setinterval

我想等待30秒,然后每隔30秒开始轮询一次API。 我正在使用以下代码

  setTimeout(function() {
    var poll = setInterval(function() {
      self.poll()
    }.bind(self), 30000)
  }, 30000);

虽然这个功能适用于Chrome IE和FF 和窗户上的野生动物园。 它不适用于MAC safari。

有人可以指导我吗?

问候。

1 个答案:

答案 0 :(得分:2)

问题很可能是您使用的是较旧版本的Safari。

Safari最近获得了Function.prototype.bind。你应该做的就是测试它,如果不存在则应用垫片。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind#Compatibility

要验证,请执行console.log的简单alertFunction.prototype.bind。我猜它会出现undefined