Получить значение в .ejs с помощью функции .js

#node.js #mongodb #ejs

#node.js #mongodb #ejs

Вопрос:

Что я делаю не так?

У меня есть две таблицы данных mongodb. Имея значение из первой таблицы, я хотел бы выполнить поиск во второй, чтобы получить значение обратно.

Итак, в моем .ejs:

 <%= getdes(Object.Filename) %>
 

В моем .js

 function getdes(fName) {
    let xyz = getdes2(fName).then((value) => { // This must be the trick to rip value from promise?
        console.log('Test '   value) //Works! Gives value when found.
        return value; //Huh? No value written back to ejs?
    });
    return xyz // Gives [object Promise] in .ejs
}
async function getdes2(fName) {
    try {
        const file = await File.findOne({ filename: fName }, File._id)
        return await file.title
    } catch {
        return 'Not found'
    }
}
 

Кто может помочь мне получить мое значение в моем файле .ejs?

Комментарии:

1. Разве вы не пропускаете возврат в getdes? Попробуйте добавить return xyz; в свою getdes функцию.

2. См. Редактирование. Это возвращает [обещание объекта] . Я много гуглил, у всех проблемы с получением значений из обещаний. Решение по-прежнему не найдено.