У меня есть файл extrafunctions.js, который экспортирует функции для запуска app.js.Одна из этих функций включает запрос MongODB findOne.Проблема в том, что функция возвращает значение до завершения запроса, и поэтому app.js не получает необходимые данные, а вместо этого «undefined».
Я в некоторой степени пробовал Promises, но не смогчтобы заставить что-либо работать.
app.js:
const extraFunctions = require("./extraFunctions");
app.get('/api/login', (req, res) => {
res.end(extraFunctions.login());
});
extraFunctions.js:
function login ()
{
client.connect(err => {
var collection = client.db("site").collection("test");
collection.findOne({}, (err, result) => {
if (err) throw err;
console.log(result);
return result;
});
client.close();
});
}
module.exports.login = login;
Фиксированная версия То же, что и принятаякомментарий, но пришлось изменить res(result)
на res(JSON.stringify(result))