次のようなメソッドがあるとします。
commentsInsert: (comment) ->
Comments.insert comment, (err) ->
throw err if err
updateCommentCounts()
ここでの目標はupdateCommentCounts
、挿入が失敗した場合の呼び出しを避けることです。このコードがサーバー上でのみ実行される場合、コールバックとthrow
? 例えば:
commentsInsert: (comment) ->
Comments.insert comment
updateCommentCounts()
流星のドキュメントは次のように述べています。
サーバー上でコールバックを提供しない場合は、データベースが書き込みを確認するまでブロックを挿入するか、何か問題が発生した場合は例外をスローします。
これは、関数から抜け出し、呼び出し元にエラー コードを返すことを意味すると思います。そうですか?