如何在nodejs中导入另一个路由中的一个路由响应



我知道这个问题可能被问了很多次,但我找不到合适的答案。我有两条路线-

router.post('/dbCall',async (req, res) => {
async function getStudent(id,data){
...
res.status(200).send(data)
}
})
module.exports = router

第二个-

router.post('/getCourse', async(req,res) => {
const cid = // I want to assign route 1's response i.e data here.
})
module.exports = router

如何分配路由1到2的响应(数据(?两者都在不同的文件中,不确定如何导入。

您需要创建类似middleware的会话。只需创建值并分配给res

解释

  1. 中间件意味着它将在路由调用之前执行。您可以添加或检查其中的值
  2. next将允许访问下一个路由
  3. 您需要在路由呼叫之前排列或呼叫middle-ware
  4. 例如:如果你从数据库访问用户信息。你需要知道会话的使用信息。通过令牌从客户端传递的信息。在每次调用时,您需要对令牌进行解码
  5. middleware执行此操作并将值分配给res对象时
  6. 就像你可以用你的自定义middleware这样

您应该在路由调用之前调用中间件

中间件

router.use(async (req, res,next) => {
res.customVar = "something" // create
next()
})

然后你可以从另一条路线打电话

第二条路线

router.post('/getCourse', async(req,res) => {
const customVar = res.customerVar //read
const cid = // I want to assign route 1's response i.e data here.
})

最新更新