2012-04-18 75 views
0

很简单,我将express/node应用程序中的路由映射到另一个模块中的某个方法。完成后,会发送一个事件。所有的作品都很好,但是我如何才能在我的'on_products'事件处理程序中获取资源?如何在express/node中访问路由处理程序外的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

感谢莱纳斯。我曾希望我可以参考资源而不必传递它,因为它已经过了整个圆圈。控制器访问一个服务。该服务最终分派控制器最终再次处理的事件。看起来好像我不得不一直围绕它回到它的起始位置。 – 2012-04-19 09:36:44

+0

布拉德:好的。我发现很难在没有看到代码的情况下推理你的代码,但我认为你会发现很难将响应保持在范围内而不传递。 – 2012-04-19 15:27:54

相关问题