0

假设我有一个看起来像这样的方法:

commentsInsert: (comment) ->
  Comments.insert comment, (err) ->
    throw err if err
    updateCommentCounts()

这里的目标是避免updateCommentCounts在插入失败时调用。如果此代码仅在服务器上运行,我可以跳过回调和throw?例如:

commentsInsert: (comment) ->
  Comments.insert comment
  updateCommentCounts()

流星文档说:

在服务器上,如果您不提供回调,则插入块,直到数据库确认写入,或者如果出现问题则抛出异常。

我假设这意味着它将退出函数并向调用者返回错误代码。那正确吗?

4

1 回答 1

0

因此,为了测试这一点,我在评论集合中添加了一个唯一索引并做了两个相同的插入。第二个插入抛出了一个错误(如预期的那样),向500客户端发送了一个错误,并退出了该方法。所以似乎我的问题的答案是:是的,我可以跳过回调。

于 2013-05-17T17:53:34.883 回答