0

我对使用咖啡脚本还很陌生,我有以下代码

eventBus = require './eventBus'                      

class Aggregate                                       
  constructor(id) ->                                  
    @_id = id                                         

  @find: (id) ->                                                              
    console.log "Find Called"
    new Aggregate(id)                                                 

  @apply: (event) ->                                                          
    @_total += event.attribute.amount                                         

  @emit: (event) ->                                                           
     EventBus.store event                                                     

module.Aggregate = Aggregate

我遇到的问题是我想调用 Aggregate.find 20 ,它又会返回一个具有该 ID 的新聚合。任何关于如何让这个模块像这样工作的建议将不胜感激。

干杯迈克。

4

2 回答 2

2

您的代码应该可以正常工作,只是您的构造函数中有语法错误。

改变:

constructor(id) ->

到:

constructor: (id) ->
于 2012-05-05T09:15:29.087 回答
0

将此附加到某处:

Aggregate.find = (id) ->                                                              
  console.log "Find Called"
  new Aggregate(id)                                                 

这将是“静态”方法。

于 2012-05-05T10:00:26.240 回答