try、catch、finally用法總結
報錯資訊
報錯程式碼
// 查詢所有檔案資料 (多集合聯合查詢)
let articles = await Article.find().populate('author');
// 渲染文章列表頁面模板
res.render('admin/article.art', {
articles: articles
});
報錯原因
- 當集合聯合查詢和渲染頁面模板同時進行時會導致兩者衝突,從而導致無法渲染頁面。所以報錯
解決方法
利用 lean() 方法將多級聯合的結果轉化為普通物件 ,緩解兩者的衝突。
let articles = await Article.find().populate('author').lean();
另外一個報錯程式碼
let articles = await pagination(Article).find().page(1).size(1).display(3).populate('author').exec();
res.render('admin/article.art', {
articles: articles
});
報錯原因
當集合聯合查詢和渲染頁面模板同時進行時會導致兩者衝突,從而導致無法渲染頁面。所以報錯
解決後的程式碼
let articles = await pagination(Article).find().page(1).size(1).display(3).populate('author').exec();
let str = JSON.stringify(articles);
let json = JSON.parse(str);
// res.send(articles)
// 渲染文章列表頁面模板
res.render('admin/article.art', {
articles: json
});
}
轉自:https://blog.csdn.net/qq_49002903/article/details/112541719
自我激勵
日益努力,而後風生水起,眾生皆苦,你也不能認輸。
原文連結:https://blog.csdn.net/weixin_50001396/article/details/112587981