Jac*_*cob 3 setinterval coffeescript
我上周开始写coffeescript,因为我正在编写一个新的Play20网站,其中coffeescript是标准.我想每隔5分钟在我的类中更新一个getData函数,但是setInterval函数不会绑定到我的类.只是第一次调用getData,因为'this'对象仍然可以访问,因为从构造函数中调用了setUpdateInterval()函数.
但是在第一次调用之后,setInterval不再与Widget实例有任何连接,并且不知道this.getData()函数是什么(以及如何到达它).
有人知道怎么做吗?
这是我的代码:
class Widget
constructor: (@name) ->
this.setUpdateInterval()
getData: ->
console.log "get Data by Ajax"
setUpdateInterval: (widget) ->
setInterval( this.getData(), 3000000 )
Run Code Online (Sandbox Code Playgroud)
现在这里需要一些Javascript魔法.参考
class Widget
constructor: (@name) ->
this.setUpdateInterval()
getData: ->
console.log "get Data by Ajax"
setUpdateInterval: (widget) ->
callback = @getData.bind(this)
setInterval( callback, 3000000 )
Run Code Online (Sandbox Code Playgroud)
这将适用于几乎所有浏览器(猜测哪一个不是),因此该函数必须以不同方式绑定.一些coffeescript魔术:
callback = => @getData
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3917 次 |
| 最近记录: |