【发布时间】:2012-11-03 18:57:37
【问题描述】:
我对 js 或 coffeescript 有点陌生,我无法弄清楚我的脚本有什么问题。
class Token
fetching_token = $.Deferred()
assigning_token = $.Deferred()
constructor: ->
@token = null
@got_token = $.Deferred()
fetch = ->
fetching_token.resolve({"access_token": '12355'})
assign_token = (data) =>
console.log "TOKEN (instance var): " + @token #undefined?
@token = data.access_token
assigning_token.resolve()
get_token: ->
fetch()
$.when(fetching_token).done (data) =>
assign_token(data)
$.when(assigning_token).done =>
@got_token.resolve()
undefined
t = new Token
t.get_token()
$.when(t.got_token).done ->
console.log "FETCHED TOKEN: " + t.token #gives null
我试图在对象实例上公开以下接口:token、got_token、get_token。 出于某种原因,assign_token 中的 @token 是 undefined。我尝试了一些与 fat arrow 的组合,但无法使其发挥作用。 提前谢谢你
【问题讨论】:
标签: class scope coffeescript instance