Я пытаюсь вернуть счет из моей базы данных.Методы count (). Exec, возвращающие Promise, я пытаюсь разрешить его, чтобы вернуть значение пользователю.
Но он возвращает undefined
Мне кажется, у меня естьхорошо использовал методологию async / await, так что не так?Я не могу понять.
Here my snippet :
app.get("/blog/page/:pageTargeted", (req, res) => {
var countQuery = Posts.estimatedDocumentCount().exec();
// estimate count of document in collecion
function estimation() {
countQuery.then(count => {
countStringified = count.toString() return countStringified
})
} // console.log => successfully returns a value
// set Data
async function setData() {
let countStringified = await estimation()
return countStringified
}
// send Data
function sendData() {
setData().then(result => console.log("result in sendData: ", result))
} // undefined
sendData();
});
* Редактировать *: теперь это работает, вот мой фрагмент:
setData().then(result => { // call an async/await functions chain
// var count = setData().then(countResult => countResult).then(data => data );
console.log("count in Post.find: ", result)
console.log("pageTargeted in Post.find: ", pageTargeted)
if (err) return console.error(err);
res.status(200).send(result)
})
})
});
Мне просто интересно,Я должен обернуть весь скрытый процесс внутри моего вызова функции.Так что, возможно, произойдет некоторый рефакторинг, если это возможно, чтобы избежать какого-то адского процессаВо всяком случае, пока это работает, так здорово, спасибо.