Node.js 如何在express/node中访问路由处理程序外部的req/res
非常简单,我正在将express/node应用程序中的路由映射到另一个模块中的方法。完成后,将调度一个事件。所有这些都很好,但如何在“on_products”事件处理程序中获得res 以下是总体思路:Node.js 如何在express/node中访问路由处理程序外部的req/res,node.js,coffeescript,routes,Node.js,Coffeescript,Routes,非常简单,我正在将express/node应用程序中的路由映射到另一个模块中的方法。完成后,将调度一个事件。所有这些都很好,但如何在“on_products”事件处理程序中获得res 以下是总体思路: Routes = (app) -> eventbus.on 'on_products', -> res.send 'some products' #how do i get at res here? app.get '/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
提前感谢。您可以在触发事件时传递参数:
eventbus.emit 'on_products', res
并在事件处理程序中使用:
eventbus.on 'on_products', (res) ->
res.send 'some products'
谢谢你,莱纳斯。我曾希望我可以引用res而不必传递它,因为它被传递了一整圈。服务最终分派控制器再次处理的事件。看来我得把res一路织回它的起始位置。布拉德:好的。我发现在没有看到代码的情况下很难对代码进行推理,但我认为如果不将其传递出去,就很难将响应保持在范围内。