如何将变量传递给端点nodejs

时间:2019-06-26 18:01:05

标签: node.js variables get endpoint

我有2个端点。

  1. 是: a)从客户端接收数据 b)+保存到文件 c)+计算保存数据的次数。
    app.post('/api/v1', (req,res) => {

      var data = req.body;
      console.log(req.body)

      const storeData = (data, path) => {
        try {
          console.log("Uploading data to file...")
          fs.appendFileSync(path, JSON.stringify(data))
          counter = counter +1;
          console.log(counter);
        } catch (err) {
          console.error(err)
        }
      }
    storeData(data,'./files/data.json');
  1. 是: a)向客户端发送数据
app.get('/api/counter', (req, res) => {
  res.status(200).send({

  })
});

我的问题是:

“如何修改第二个端点以从第一个端点获取计数器并将其发送给客户端?

1 个答案:

答案 0 :(得分:1)

您基本上是在寻求一个简单的状态管理模块。

我建议使用全局计数器来存储计数。在第一个端点中递增计数器,然后在第二个端点中访问计数器。否则,为此设置一个外部状态管理-将计数器存储在文件系统或db中(不建议)

var counter;

function setCount(num=0){
    counter = num;
}

function inc(){
    counter++;
}

function getCount(){
    return counter;
}

module.exports = {
    inc: inc,
    setCount: setCount,
    getCount: getCount
};

在具有API端点的文件中

const arb = require('./path/name_of_your_arbitrary_file');

...
// Increment in 1st endpoint
arb.inc();

...
// Get Count in 2nd endpoint
var count = arb.getCount();