Я пытаюсь реализовать архитектуру MVC (i sh) для очень конкретного c варианта использования в expressjs. Я думаю, что у меня есть проблема с обещанием, но я все еще не могу правильно отладить проблему здесь.
Итак, об архитектуре: вызовы маршрутизатора будут запускать функции, которые на самом деле являются методами классов на уровне обслуживания. , например: router.get ('/ users / list') -triggers-> userService.listAll () -returns массив users-> res.render ('apage', {users: users}); (пользователи - это переменная, содержащая возвращаемые значения) ..
Хотя userService может получить доступ к источнику данных и вернуть данные, на переменную "users" внутри маршрутизатора ничего не влияет.
Фактический код: users. js
router.get('/dashboard', function(req, res) {
var users= userService.listAll();
res.render('dashboard.twig', {users: users});
});
UserService. js
async listAll(){
await utilisateurModel.find({}).then(
function(data){
console.log("data is:"+JSON.stringify(data));
return data;
});
}
Есть идеи, как это исправить?