0

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

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

虽然这个东西适用于 Chrome IE 和 FF 以及 windows 上的 safari。它不适用于 MAC Safari。

有人可以指导我吗?

问候。

4

1 回答 1

2

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

SafariFunction.prototype.bind最近获得了收益。你应该做的是测试它,如果没有,应用垫片。

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

为了验证,做一个简单的console.logor alertof Function.prototype.bind。我猜它会出现undefined

于 2012-11-14T01:57:52.407 回答