我注意到Meteor非常尴尬。当服务器上的方法内发生错误时,这将使方法的整个代码重新运行。这可能会导致一些意想不到的结果和某种麻烦。例如:
Meteor.methods
'someMethod': ->
# we insert an element in the database
Collection.insert({ record: "We want this record to be inserted only once." })
# We just made a mistake here, let's say that the object is not defined.
variable = object.property
return variable
在我的情况下发生的事情是Meteor抛出一个错误,说它无法读取未定义的属性(我可以在服务器日志中看到它),然后重新运行该方法的代码,重复再次抛出相同的错误。我可以看到我的数据库中有很多记录应该有一个。
我不知道是否有办法让meteor在发生错误时重新运行代码,或者在开发应用程序时需要学习某种思路。