在meteor中,有没有办法在每次发布之前运行一些东西。像(伪)Metoer.onBeforePublish?
之类的东西用例是为所有发布功能添加保护层,例如:
if (!this.userId) {
return this.ready()
}
答案 0 :(得分:1)
感谢MasterAM评论,这是我的实施:
pub = function(name) {
var cb = Array.prototype.pop.call(arguments)
var args = Array.prototype.slice(arguments, 1, -1)
if(Meteor.isServer) {
Meteor.publish(name, function(args){
if (!this.userId) {
return this.ready()
}
})
cb(args)
}
}
并称之为:
pub('taxes', query, options, function(){
Taxes.find(query, options)
})
谢谢!