我做了一个下拉列表,它从我从猫鼬获得的一些数据中获取了其链接。
但是它不是持久的。使用完全相同的代码,我不一定总能获得链接的数据。
(实际上我的所有东西都是这样,但是我的下拉菜单很简单)
我的下拉菜单(由EJS和引导程序制成)
<div class="dropdown-menu" aria-labelledby="navdrop">
<% schools.forEach((school) => { %>
<a href="/skoler/<%= school.adress.city %>" class="dropdown-item"><%= school.name %></a>
<% }); %>
</div>
(对不起,上面的格式很烂,编辑器不会让我做的更好)。
这是我处理索引页面的途径。
server.get('/',
async function(req, res) {
let schools = await schoolService.getAll();
res.render('public assets/pages/index', {
page_title: "Langaming.dk - Index",
schools: schools
});
}
);
这是我的schoolService.getAll();
"getAll": () => {
return new Promise(function(resolve, reject){
School.find({}, function (err, schools) {
if (err)
return reject(err)
else
return resolve(schools)
});
})
}
我会尽力解释一下。当我进入页面时,有时会显示链接,而有时却不显示。 (通常他们不这样做)。一直都是相同的代码。
该项目正在快速运行以进行路线处理。
为什么会这样?
答案 0 :(得分:0)
由于某种原因,您的数据库可能没有文档(您是否在请求之间清除数据?),并且不会因此而引发错误。
"getAll": () => {
return new Promise(function(resolve, reject){
School.find({}, function (err, schools) {
if (err)
return reject(err)
if (!schools) {
console.log('there are no documents');
return reject();
}
else
resolve(schools)
});
})
}