如何使用Node.js在发布请求之间传输数据

时间:2018-06-22 14:57:19

标签: node.js

我必须将数据从一个发布请求发送到同一服务器中的另一个发布请求,所以如何将结果信息从app.post('/ convert')发送到app.post('/ last')?< / p>

这是我的发帖请求:

   app.post('/convert',  upload.single('file'), (req, res) => {

                let var1='asma'; 
       let  var2='hello ';

       let results={

        first:var1,

       others:var2
       }


        })


       })


app.post('/last', upload.single('file'),(req, res) =>{
        console.log(var1);
        console.log(var2);
        res.send(results);
 });

如何在第二个app.post中使用var1和var2?

2 个答案:

答案 0 :(得分:3)

我假设您实际上不想发出新的请求,只是想知道如何创建和使用中间件。

function convert(req,res,next){
  req.var1 = "hello";
  req.var2 = "world";
  next();
};

function last(req,res){
    console.log(req.var1);
    console.log(req.var2);
    res.send(results);
}

app.post('/doPlenty', [upload.single('file'), convert], last});

我承担太多吗?

答案 1 :(得分:2)

您必须在更高级别上保留变量的引用。

以下示例向您展示了一种非常简单的方法:

let referenceOnVar1 = false;
let referenceOnVar2 = false;

function func1() {
  const var1 = 'asma';
  const var2 = 'hello ';
  
  referenceOnVar1 = var1;
  referenceOnVar2 = var2;

  const results = {
    first: var1,
    others: var2,
  };
}


function func2() {
  console.log(referenceOnVar1);
  console.log(referenceOnVar2);
}

func1();
func2();