快递中的连锁请求

时间:2015-07-13 12:40:12

标签: node.js express

我需要创建以下过程。我有两个端点,我需要将第二个端点传递给expressejs中第一个端点的结果。我曾想过制作像导游节目那样的东西:

var cb0 = function (req, res, next) {
  console.log('CB0');
  next();
}

var cb1 = function (req, res, next) {
  console.log('CB1');
  next();
}

var cb2 = function (req, res) {
  res.send('Hello from C!');
}

app.get('/example/c', [cb0, cb1, cb2]);

我应该如何将第一个函数传递给第二个函数?

2 个答案:

答案 0 :(得分:5)

您需要为req参数创建新属性,如

Users
----------
id (PK)
username
password
email

UserValues
----------
id (PK)
userid (FK to Users)
key
value

答案 1 :(得分:2)

简单的事,

只需将一个链的结果添加到请求对象,即可在另一个链中访问该对象。

这是你的代码。

var cb0 = function(req, res, next) {
  req["CB0"] = "Result of CB0";

  console.log('CB0');
  next();
}

var cb1 = function(req, res, next) {
  req["CB1"] = "Result of CB1";
  console.log('CB1: Result of CB0: ' + req["CB0"]);
  next();
}

var cb2 = function(req, res) {
  console.log('CB2: Result of CB0: ' + req["CB0"]);
  console.log('CB2: Result of CB1: ' + req["CB1"]);
  res.send('Hello from C!');
}

app.get('/example/c', [cb0, cb1, cb2]);