有下面的代码:catch异常/ promisses
router.put('/:id', function(req, res, next) {
models.Task.find(req.params.id).then(function(task) {
return task.updateAttributes({
title: req.body.title,
description: req.body.description
});
}).then(function(task) {
res.json(task);
}).catch(function(err) {
var err = new Error('Cannot find Task');
err.status = 404;
next(err);
});
});
正如你所看到的,我用这条路线由id来更新任务模式。所以,现在我赶上错误,如果没有任何与id的任务,我尝试更新null对象的属性(ReferenceError错误类型)。所以,我刚刚向任务模型添加了验证,并且有机会使用空标题/描述(SequelizeValidationError错误类型)更新任务。我如何在我的catch块中处理这些错误?我想设置'无法找到任务','无法更新任务'消息这个错误。我应该分裂我的catch块还是其他什么?提前致谢!
身份证建议使用蓝鸟承诺,而不是看到这个答案为什么http://programmers.stackexchange.com/questions/278778/why-are-native-es6-promises-slower-and-more-memory-intensive-than -bluebird – baao