在Meteor中,this.error与Meteor.publish中的新Meteor.Error之间有什么区别?

Mit*_*tar 5 meteor

Meteor.publish,使用this.error和简单扔一个有Meteor.Error什么区别?

Rah*_*hul 6

this.error仅在发布方法中可用.根据文档:

停止此客户端的订阅,在客户端上触发对onError传递给的回调的调用Meteor.subscribe(如果有).如果错误不是a Meteor.Error,则将映射到Meteor.Error(500, "Internal server error").

抛出一个Meteor.Error不会停止客户端的订阅,它只会终止执行并引发异常.因此,如果您希望确保Meteor将在您之后清理并允许您在发生意外情况时处理客户端上的错误,则建议您使用this.error而不是将自己的内容放在publish方法中.