【发布时间】:2013-09-14 19:39:31
【问题描述】:
我在咖啡脚本中有一个“类”,我想用实例方法初始化它的实例变量,这些实例方法通过回调返回一个值,但它没有像我希望的那样工作:
EventEmitter = require('events').EventEmitter
class MyClass extends EventEmitter
constructor: ->
@datamember: setDatamember()
setDatamember: ->
someFunction (response) ->
@datamember = response
@emit 'init'
getDatamember: ->
return @datamember
----
myObj = new MyClass
myObj.on 'init', ->
console.log myObj.getDatamember
我得到的结果表明,setDatamember 中的“this”指的是与对象实例中的“this”不同的东西。如果我显式调用 myObj.setDatamember,我会得到预期的结果,但是有没有办法在构造函数中调用 set 方法——特别是通过回调设置数据成员的方法?我查看了docs,以及其他各种咖啡脚本信息来源(例如this one),但没有发现任何与此相关的内容。
【问题讨论】:
标签: class constructor coffeescript instance-variables instance-methods