@Stepgor

Как вернуть значение из модуля?

Как можно вернуть значение res в главный файл из модуля, если можно , скиньте готовый код и объясните в чем проблема, сейчас он возвращает андефайнед, желательно promisom
код модуля
function insertChat(url){

MongoClient.connect(url,options, function(err, client){

	if(err) throw err;

	const db = client.db('chat');
    const collection = db.collection('chatmessage');

	if(err) return console.log(err);

    collection.findOne(function(err, result){
        if(err) throw err; 
        var res =  result.chatmessage;    
        console.log(res);//test
        return res;
        client.close();
    });
});

}


код главного файла
database = require('./dbtest.js');
var urlDb = 'mongodb://localhost:27017/chat';
console.log(insertChat(urlDb));
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Alex_At_Net
Надо использовать такой-же паттерн, который реализован в функции MongoClient.connect(...):

function insertChat(url, callback){
  MongoClient.connect(url,options, function(err, client){
    ...
    collection.findOne(function(err, result){
      ...
      callback(res);
    });
  });
}

database = require('./dbtest.js');
var urlDb = 'mongodb://localhost:27017/chat';
insertChat(urlDb, result => console.log(result));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы