teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足:callbackの経緯について

2015/11/07 06:06

投稿

horse_n_deer
horse_n_deer

スコア454

answer CHANGED
@@ -21,4 +21,9 @@
21
21
  })
22
22
  ```
23
23
 
24
- この、`callback`の第一引数に例外、第二引数に結果、というパターンは外部のライブラリであっても頻出します。慣習でしょうね。
24
+ この、`callback`の第一引数に例外、第二引数に結果、というパターンは外部のライブラリであっても頻出します。慣習でしょうね。
25
+
26
+ 自分でこのような関数を実装するさい、上記のようにcallback関数を引数の最後に受け取るパターンが作法となっています。これは、実装した関数を、他の利用者が**プロセスを強制終了させるか、処理を継続させるかを選択させるためです**。通常の例外であれば`try...catch`文を使用して、後続の処理を継続させることができますが、非同期処理で`try...catch`文はうまく動作しません。
27
+
28
+ > 参考
29
+ [error handling - try-catch in javascript... isn't it a good practice? - Programmers Stack Exchange](http://programmers.stackexchange.com/questions/144326/try-catch-in-javascript-isnt-it-a-good-practice)