我有2个端点。
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');
app.get('/api/counter', (req, res) => {
res.status(200).send({
})
});
我的问题是:
“如何修改第二个端点以从第一个端点获取计数器并将其发送给客户端?
答案 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();