У меня есть nodejs модуль для извлечения данных из базы данных mongodb с использованием драйвера mongodb. Обратный вызов передается данной функции, которая возвращает обещание, но вместо возврата результата в функции .then () он передает значение в функцию обратного вызова. Как я могу вызвать эту функцию из другого модуля или функции, поскольку она не возвращает ее в .then ()? Я пытался утешить результат .then (), но он показывает неопределенное.
const MongoClient = require('mongodb').MongoClient;
const Db = require('../model/db');
Db.findUser = (details, callback) => {
return dbconnection().then(db => {
if (db) {
return db.collection('users').findOne({
email: details.email,
pass: details.password
}).then(data => {
if (data) {
console.log('Found one');
callback(true);
} else {
let err = new Error();
callback(err);
}
})
}
Я использовал следующую функцию для вызова обещания. Я новичок в обещаниях.
var getUser = function(callback) {
db.findUser().then(result => {
console.log(result) // undefined
})
}