在SailsJS for API中,我们在执行其他逻辑之前获取资源并检查它是否存在。
对于所有模型,如何在一个地方实现一个函数说findOneStrict
,它会调用具有某些特定一致错误的回调?无所谓,它必须始终是一样的。
这样的功能可以在API端点上节省大量的代码重复。
理想情况下,它应该支持populate
个关联。
示例当前代码:
sendSurpriseGift: function(req, res) {
async.auto({
user: function(callback) {
User.findOne(userId).populate('hobby').exec(function(err, user) {
if (err)
return callback(err);
if (!user)
return callback({status: 'NOT_FOUND'});
return callback(null, user);
}
}),
sendGift: ['user', function(callback, results) {
var user = results.user;
// Gift sending logic
// more logic
}],
}, function(err, results) {
if (err) {
if (err.status === 'NOT_FOUND')
return res.notFound(err);
return res.serverError(err);
}
return res.ok({status: 'OK'});
});
}