Как передать переменную в конечную точку nodejs - PullRequest
0 голосов
/ 26 июня 2019

У меня есть 2 конечные точки.

  1. Это: а) получать данные от клиента б) + сохранить это в файл 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. Это: а) Отправить данные клиенту
app.get('/api/counter', (req, res) => {
  res.status(200).send({

  })
});

Мой вопрос:

"Как я могу изменить вторую конечную точку, чтобы получить счетчик от первой конечной точки и отправить его клиенту?

1 Ответ

1 голос
/ 26 июня 2019

Вы в основном запрашиваете простой модуль управления состоянием.

Я бы порекомендовал использовать глобальный счетчик для хранения счетчика.Увеличьте счетчик в первой конечной точке, а затем получите доступ к тому же во второй.Или же настройте внешнее управление состоянием для того же самого - храните счетчик в файловой системе или в базе данных (не рекомендуется)

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();
...