2016-06-12 37 views
0

下面是一段Nodejs代碼片段。我用貓鼬詢問Mongodb。這段代碼在「A行」暫停,並顯示消息「暫停執行例外」。控制檯顯示沒有錯誤。與此同時,這似乎只發生在我VS代碼運行。從控制檯運行應用程序不會引發異常。承諾拒絕暫停,但沒有錯誤日誌

我傾向於說這是VS代碼問題。有沒有人看過/面對相同或類似的東西?

Board.findOne({ boardId: id }, function (err, data) { 
 
\t if (!err) { 
 
\t \t data ? resolve(data.children) : reject(data); //Line A 
 
\t \t // line above pauses execution with this message: "Paused on Exception" 
 
\t \t // No error logged in console. And this seem to happen only in VS code. 
 
\t }else{ 
 
\t \t reject(err); 
 
\t } 
 
}

+0

捕獲承諾異常無助於捕獲的錯誤爲空。 注:代碼的整片是一個承諾內: 'VAR newPromise =新無極(函數(解析,拒絕){在問題 //分貝查詢代碼})捕獲(功能(ERR){ 控制檯。 .log(err); });' –

回答

1

貓鼬已經支持的承諾,讓您可以將您的代碼重寫本:

return Board.findOne({ boardId: id }).then(function(data) { 
    if (! data) throw new Error('data empty'); 
    return data.children; 
}).catch(function(err) { 
    console.log(err); 
}); 

或許,這也解決了您的VS代碼問題。