【问题标题】:How to access req/res outside of route handler in express/node如何在 express/node 中访问路由处理程序之外的 req/res
【发布时间】:2012-04-18 15:05:12
【问题描述】:

非常简单,我将我的 express/node 应用程序中的路由映射到另一个模块中的方法。完成后,将分派一个事件。一切都很好,但我如何在我的“on_products”事件处理程序中获取资源?

大致思路如下:

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

提前致谢。

【问题讨论】:

    标签: node.js coffeescript routes


    【解决方案1】:

    您可以在触发事件时传递参数:

    eventbus.emit 'on_products', res
    

    并在事件处理程序中使用它:

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

    【讨论】:

    • 谢谢莱纳斯。我曾希望我可以引用 res 而不必传递它,因为它被传递了一整圈。即控制器访问服务。服务最终调度控制器最终再次处理的事件。看来我必须一直编织 res 回到它的起始位置。
    • 布拉德:好的。我发现如果没有看到它就很难对你的代码进行推理,但我认为你会发现如果不传递它就很难将响应保持在范围内。
    猜你喜欢
    • 1970-01-01
    • 2019-10-30
    • 2021-10-07
    • 2019-02-19
    • 2012-12-02
    • 2018-06-18
    • 2019-04-13
    • 2015-12-24
    • 2019-05-31
    相关资源
    最近更新 更多