Как вернуть данные из функции const в Node JS для экспорта в другой файл - PullRequest
0 голосов
/ 08 мая 2020

Привет, у меня есть файл шаблона для считывания данных с моего ультразвукового c датчика. Все работает нормально, но только когда я распечатываю эти данные в консоли. Проблема в том, чтобы сохранить эти данные и вернуть их из функции "watchHCSR04". Мне странно, что функция, которая вызывается один раз, регистрирует результаты каждую 1 секунду, так как этот интервал находится в самом конце. Может ли кто-нибудь объяснить код? Моя цель - иметь одну функцию, которая возвращает результаты, потому что я хочу экспортировать эту функцию в свой основной файл «app. js», а затем отправить его на мой HTML через socket.io

const Gpio = require('pigpio').Gpio;

// The number of microseconds it takes sound to travel 1cm at 20 degrees celcius
const MICROSECDONDS_PER_CM = 1e6/34321;

const trigger = new Gpio(23, {mode: Gpio.OUTPUT});
const echo = new Gpio(18, {mode: Gpio.INPUT, alert: true});

trigger.digitalWrite(0); // Make sure trigger is low

const watchHCSR04 = () => {
  let startTick;

  echo.on('alert', (level, tick) => {
    if (level == 1) {
      startTick = tick;
    } else {
      const endTick = tick;
      const diff = (endTick >> 0) - (startTick >> 0); // Unsigned 32 bit arithmetic
      console.log(diff / 2 / MICROSECDONDS_PER_CM);

Вот результат, который я хотел бы вернуть одной конкретной c функцией, которую я могу экспортировать в свой основной файл

    }
  });
};

watchHCSR04(); // Calling that function

// Trigger a distance measurement once per second
setInterval(() => {
  trigger.trigger(10, 1); // Set trigger high for 10 microseconds
}, 1000);
...