Это может быть просто для большинства из вас, но я боролся с этим часами. У меня есть aws лямбда-функция, которая выполняет несколько запросов pg sql с pg-обещанием к базе данных RDS pg sql. Чтобы организовать код, я хочу разделить некоторые функции на модули.
Я могу выполнить и получить результаты в основном файле, но когда я пытаюсь в другом файле и экспортировать его как модуль. Я получаю только пустой объект.
Файлы (усеченные)
index. js
exports.handler = function (event, context, callback) {
context.callbackWaitsForEmptyEventLoop = false;
const db = require('./dbconfig');
const helpers = require('./helpers');
var userid = 1; // testing purpose
var tagexist = helpers.tagexist
var istagexist = tagexist(tags, userid);
callback(null, {"message" : istagexist});
};
Ожидаемое поведение: "message": id, фактический результат: " сообщение ": {}
помощников. js
const db = require('./dbconfig');
module.exports = {
tagexist : function (tags, uid) {
db.oneOrNone('SELECT id FROM table_tags WHERE tag = $1 and uid = $2', [tags, uid])
.then((id) => {
return id;
})
.catch((err) => {return err;})
.then(() => {db.$pool.end()});
}
};
dbconf. js
const pgp = require('pg-promise')();
const dbconfig = {
user: 'sandbox',
host: 'host',
database: 'sandbox',
password: 'pass',
port: 5432,
}
const db = pgp(dbconfig);
module.exports = db;