防止Meteor.js重新启动时出错
当使用mrt
命令启动Meteor.js时,会在发生错误时自动重启应用程序3次。
是否有可能避免错误重新启动(只要让错误崩溃并退出进程),或更改Meteor尝试重新启动的次数。
你需要捕捉错误并处理它们,如果你想以这种方式工作。
尽pipe如此,你不能阻止语法错误停止meteor重启,因为它不能从头开始!
meteor自动停止应用程序崩溃提供的错误发生在Meteor.startup()
, Meteor.methods
或Meteor.publish
如果你有“自由悬挂的代码”,那么你就不需要用try和catch来处理它
try { //Somewhere the errors always come from } catch(e) { //Report the error? console.log(e.message); }
如果你不想捕捉它,你需要在任何Meteor闭包(Meteor.methods,Meteor.publish,Meteor.startup,Meteor.setTimeout,Meteor.setInterval)中运行代码。
如果你有任何外部模块或者运行的方法是asynchronous的,你需要确保它运行在同一个光纤中,使用Meteor.bindEnvironment
或者Meteor._wrapAsync
(通常用于npm模块),以便发生错误它起源于而不是自身。