Показать сообщение отдельно
  #1 (permalink)  
Старый 10.03.2019, 10:49
Новичок на форуме
Отправить личное сообщение для werter1995 Посмотреть профиль Найти все сообщения от werter1995
 
Регистрация: 07.03.2019
Сообщений: 7

Передача числового значения из модуля не работает.
Есть данный код, который производит поиск и подсчёт количества строк, в которых direction = 1
const sqlite3 =  require('sqlite3').verbose();
 
// open the database
let db = new sqlite3.Database('crdxims.db3');

let sql = `SELECT COUNT(*) AS total FROM ACS_EVENT WHERE direction = 1`
var total
// first row only
db.each(sql, [total], (err,  row)  => {
  if (err) {
    return console.error(err.message);
  }
   return row
    ? console.log(row.total)
    : console.log('No {total}');
 
});

// close the database connection
db.close( );

module.exports = total;


При запуске подсчёт ведёт верно. Также существует аналогичный файл, который ведёт подсчёт данных с direction = 2

Также есть ещё 1 файл, в котором считается разность между этими двумя:
var sum1 = require('./each');
var sum2 = require('./each2');
var sum = sum2 - sum1;
console.log(sum);

При попытка запустить этот файл в node.js, он выводит следующее:

Если заменить в console.log значение sum на sum1
var sum1 = require('./each');
var sum2 = require('./each2');
var sum = sum2 - sum1;
console.log(sum1);

получается:

undifined, то есть значение не определено. Получается, значение не передаётся. Что я делаю не так?
Ответить с цитированием