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

回答編集履歴

1

文章を微調整

2018/02/20 04:45

投稿

miyabi-sun
miyabi-sun

スコア21465

answer CHANGED
@@ -1,8 +1,7 @@
1
- thenのチェーンを正しく使いましょう。
2
- thenは2通りの戻り値により動作が変わります。
1
+ thenに渡す関数の戻り値を使ってうくハンドリングできます。
3
2
 
4
3
  - 値を返す: 即刻Promise.resolve(戻り値)が実行されたものとして処理
5
- - 例外を投げて終わらせる: 即刻Promise.reject(err)が実行されたものとして処理
4
+ - 例外を投げる: 即刻Promise.reject(err)が実行されたものとして処理
6
5
  - Promiseを返す: 戻り値のPromiseのresolve or rejectを待つ
7
6
 
8
7
  defghi1977さんの書き方はpromise→promiseという感じでしたが、
@@ -23,9 +22,12 @@
23
22
  )
24
23
  ```
25
24
 
25
+ `snapshor.val()`は同期処理ですが、ちゃんと動いているのが確認出来るはずです。
26
- 間に加工用関数やバリデーション用の関数を作っておくなど工夫する
26
+ 間に加工用関数やバリデーション用の関数を作っておくなど工夫すると、
27
- 可読性を保ちつつ様々な事ができるようになります。
27
+ 可読性を高めたり、エラーになりそうな処理を予め弾くといった様々な事ができるようになります。
28
28
 
29
+ 質問文のコードを処理を買えずに書き方を変えてみました。
30
+
29
31
  ```JavaScript
30
32
  var connectTo = function(url) {
31
33
  return firebase.database().ref(url).once('value');
@@ -48,5 +50,5 @@
48
50
  ```
49
51
 
50
52
  こんな風に関数化しておけば最後の部分はシンプルに出来ますね。
51
- 関数化したものは別ディレクトリ叩き込んでimportで取ってくる設計に出来るので、
53
+ 関数化したものは別ファイル追い出してしまってからimportで取ってくる設計に出来るので、
52
- 一見カッコつけすぎ実用的でないように見えますが、意外と実践で使えるテクニックす。
54
+ 大規模な開発では意外と使えるテクニックだと思います。