我正在使用Angular Fullstack。有人可以告诉我我的语法有什么问题吗?我不确定处理它的正确方法。
这就是我想要完成的事情。 (如果Auth.hasRole('admin')为真,我希望它显示所有订单。如果用户经过身份验证,我希望它只显示他们的订单。如果用户未经过身份验证,我希望它说“未经授权的”。
这是代码
exports.index = function(req, res) {
if(Auth.hasRole('admin')) {
Order.find(function (err, orders) {
if(err) { return handleError(res, err); }
return res.status(200).json(orders);
});
} else if (!Auth.isAuthenticated) {
return res.status(401).send('Unauthorized');
} else {
Order.find().where({ name: 'someusername' }).exec(function (err, orders) {
if(err) { return handleError(res, err); }
return res.status(200).json(orders);
});
}
}
我没有收到任何错误,但是当我访问api / orders时,它只会挂起并超时。
答案 0 :(得分:0)
你错过了第一个条件的回报。 如果您正在使用角色为“admin”的用户进行测试,则不会有响应。
if(Auth.hasRole('admin')) {
Order.find(function (err, orders) {
if(err) { return handleError(res, err); }
return res.status(200).json(orders);
});
}