1
mongoDB에서 findByIdAndRemove
을 호출하는 메서드가 있습니다. ID를 찾지 못하여 DB에서 삭제할 수없는 경우 오류가 발생합니다.노드 약속 거부가 캐치를 입력하지 않습니다
삭제 대시 보드 기능 :
deleteDashboard = (id) => {
return Dashboard.findByIdAndRemove(id).exec((err, dashboard) => {
if (err) return errorHandler.handle('dashboardService', err);
if (dashboard === null) return Promise.reject({ status: 404, message: 'not found' });
return Promise.resolve(dashboard);
});
};
함수 호출 : 데이터베이스에없는 ID로 dashboardService.deleteDashboard
를 호출하는 이유
return dashboardService.deleteDashboard(id)
.then(dashboard => res.status(200).json(dashboard))
.catch(error => res.status(error.status).json(error));
나는 캐치를 입력하지 않고, 이해가 안 돼요 . 디버깅하는 동안 나는 if(dashboard === null)
조건을 입력 했으므로 Promise.reject()
을 호출했으나 catch
대신 then
을 입력했습니다.
'reject' 대신'throw'를 사용하면 대부분의 경우 작동합니다 – wrangler