假设我有一个看起来像这样的方法:
commentsInsert: (comment) ->
Comments.insert comment, (err) ->
throw err if err
updateCommentCounts()
此处的目标是避免在插入失败时调用updateCommentCounts
。如果此代码仅在服务器上运行,我可以跳过回调和throw
吗?例如:
commentsInsert: (comment) ->
Comments.insert comment
updateCommentCounts()
流星文档说:
在服务器上,如果您不提供回调,则插入块直到数据库确认写入,或者如果出现错误则抛出异常。
我假设这意味着它将退出该函数并将错误代码返回给调用者。是吗?
答案 0 :(得分:0)
为了测试这个,我在comments集合中添加了一个唯一的索引,并做了两个相同的插入。第二个插入引发了错误(如预期的那样),向客户端发送了500
,并从该方法中获得了保释。所以似乎我的问题的答案是:是的,我可以跳过回调。