1. 程式人生 > 其它 >try、catch、finally用法總結

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