У меня есть вид веб-страницы, для которого требуется два набора документов mongoose, один для «завершенных задач» и один для «незавершенных задач».
Вот мой текущий код:
router.get('/', (req, res) => {
Task.find({'completed': false}) // Finding all incomplete tasks
.exec()
.then((incompleteTasks) => {
Task.find({'completed': true}) // Finding all complete tasks
.exec()
.then((completeTasks) => {
res.render('tasks/tasks', {
title: 'Tasks',
incompleteTasks: incompleteTasks,
completeTasks: completeTasks,
});
});
});
});
Есть ли способ сделать это более элегантным?Прямо сейчас, это не так уж плохо, но если бы мне пришлось разбить мои задачи на более чем наборы, код стал бы довольно запутанным.
Я думал о том, чтобы код имел следующую структуру:
let incompleteTasks = /* Get INCOMPLETE tasks */
let completeTasks = /* Get COMPLETE tasks */
res.render('tasks/tasks', {
title: 'Tasks',
incompleteTasks: incompleteTasks,
completeTasks: completeTasks,
});
Однако из-за асинхронного характера запросов мангуста я не уверен, как это сделать.
Есть предложения?