鍍金池/ 問答/數(shù)據(jù)庫  HTML/ 從數(shù)據(jù)庫中刪除數(shù)據(jù)后,跳轉(zhuǎn)頁面時(shí)就卡住了

從數(shù)據(jù)庫中刪除數(shù)據(jù)后,跳轉(zhuǎn)頁面時(shí)就卡住了

圖片描述

點(diǎn)擊刪除后
圖片描述

點(diǎn)擊下面的跳轉(zhuǎn)就不動(dòng)了。
如果還有數(shù)據(jù)就會跳轉(zhuǎn)成功。
下面是跳轉(zhuǎn)頁面的代碼

admin.get('/content', async(ctx) => {
    var contentMsg = ctx.state.contentMsg;

    ctx.state.contents = await new Promise(function(resolve, reject){
        contentMsg.pages = Math.ceil(contentMsg.contentCount / contentMsg.limit);
        contentMsg.page = contentMsg.page > contentMsg.pages ? contentMsg.pages : contentMsg.page;         //page不能大于pages,不能小于1
        contentMsg.page = contentMsg.page < 1 ? 1 : contentMsg.page;

        var skip = (contentMsg.page - 1) * contentMsg.limit;                 
        Content.find().limit(contentMsg.limit).skip(skip).populate(['category', 'user']).sort({addTime: -1}).exec(function(err, doc){
            if(doc){
                resolve(doc);
            }

            if(err){
                reject(err);
            }
        })
    })

    await ctx.render('admin/content_index');
})

請問有可能是什么原因?

回答
編輯回答
笑浮塵
  1. 代碼沒有對 Content.find() 為空時(shí)進(jìn)行判斷,為空的話,應(yīng)該是需要單獨(dú) resolve 空數(shù)組
  2. exec 方法里只對存在 doc 和存在 err 進(jìn)行了處理,如果沒有 err 且 doc 為空,也會有問題
2018年1月13日 11:15