Начинаю чувствовать себя действительно толстым здесь.Много читаю, и я верю, что понимаю обещания и хорошо прислушиваюсь.Тем не менее, я, кажется, изо всех сил пытаюсь использовать функцию в другом месте, так что я могу получить результат (например, я ожидаю в другом файле js с: let dbConnection = dbOperations.openDatabaseConnection ();).
Может кто-то объяснитьдля меня, почему я продолжаю получать ожидания от следующих функций (та же функция, написанная с Promise и Asyncawait)?Я могу console.log получить результат dbConnection, как и ожидалось до моего возвращения в функцию.Кроме того, я особенно заинтересован в понимании обещаний в этом смысле, так как кажется, что многие пакеты npm, похоже, возвращают обещания (и с моим опытом, по крайней мере, async-await не подходит для этого? -> использование async не ждетрешить на моем опыте).
// Установить соединение с базой данных
function openDatabaseConnection() {
let dbConnection = {};
return mongodb.connect(dbUri).then(conn => {
dbConnection.connection = conn;
return dbConnection;
})
.then(() => {
dbConnection.session = dbConnection.connection.db(dbName);
//console.log(dbConnection);
return dbConnection;
})
.catch(err => {
throw err;
});
};
// Установить соединение с базой данных
async function openDatabaseConnection() {
let dbConnection = {};
try {
dbConnection.connection = await mongodb.connect(dbUri);
dbConnection.session = await dbConnection.connection.db(dbName);
} finally {
//console.log(dbConnection);
return dbConnection;
};
};