我们说我有一个非常简单的出版物。
Meteor.publish('players', function (guildId) {
if (Roles.userIsInRole(this.userId, 'player', guildId)) {
return Meteor.users.find({
[`roles.${guildId}`]: 'player'
});
} else {
this.error(new Meteor.Error(401, "Unauthorized"));
}
});
我有一些这些。我想知道的是:我能以某种特定的方式回应我提供的代码吗?例如:
OnErrorHooks({
400: function (err) {
BlazeLayout.render('Error', {
content: err.message
});
}
});
答案 0 :(得分:0)
不确定
var hooks = {
400: function (err) {
BlazeLayout.render('Error', {
content: err.message
});
}
}
handleErrors = function(error) {
var handler hooks[Number(error.error)];
if (handler) {
handler(error);
} else {
console.log("no error handler defined for error", error);
}
};
Meteor.subscribe('players', { onStop: handleErrors });
Meteor.subscribe('games', { onStop: handleErrors });
...
如果您的问题是是否有办法将{ onStop: handlerErrors }
添加到每个订阅中,那么我猜不会,但当然您也可以为此编写一个便利函数:
mySubscribe = function(sub) {
Meteor.subscribe(sub, { onStop: handleErrors });
};