2012-04-18 11 views
0

非常に簡単に、エクスプレス/ノードアプリケーションのルートを別のモジュールのメソッドにマッピングしています。完了すると、イベントが送出されます。すべての作品は素晴らしいですが、私の 'on_products'イベントハンドラではどうすれば入手できますか?事前にエクスプレス/ノードでルートハンドラ以外のreq/resにアクセスする方法

Routes = (app) -> 

    eventbus.on 'on_products', -> res.send 'some products' #how do i get at res here? 

    app.get '/products', (req,res) -> getProducts() 

module.exports = Routes 

ありがとう:

は、ここで一般的な考え方です。

答えて

2

あなたがイベントをトリガするときの引数に沿って渡すことができます。

eventbus.emit 'on_products', res 

をし、イベントハンドラ内であることを使用します。

eventbus.on 'on_products', (res) -> 
    res.send 'some products' 
+0

おかげライナス。私は、周りを回ることなく、resを参照することができることを期待していました。コントローラはサービスにアクセスします。サービスは最終的にコントローラが再び処理を終了するというイベントを送出します。それは私がそれを開始位置に戻って周りのすべての方法で織り直さなければならないようだ。 –

+0

Brad:Ok。私はそれを見ていなくてもあなたのコードを推論するのは難しいと思っていますが、あなたはそれを渡すことなく範囲内でレスポンスを維持するのが難しいと感じています。 –

関連する問題