回答編集履歴
1
抜けを修正
answer
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
恐らく、
|
4
4
|
|
5
|
-
0. `onButton`相当
|
5
|
+
0. 画面読み込み時に`onButton`に相当するセッションを確認する関数(※`関数1`)が発火
|
6
6
|
0. `関数1`の中で`test`に相当するセッションの結果を返す関数(※`関数2`)が発火
|
7
|
-
0. さらに`関数2`の中でセッションの`get`処理を行う非同期の関数(※`関数3`)が発火
|
7
|
+
0. さらに`関数2`の中で`callback`に相当するセッションの`get`処理を行う非同期の関数(※`関数3`)が発火
|
8
8
|
0. そして`関数2`が`関数3`の`get`の非同期処理を待って、`関数3`のレスポンスから判定した結果を`return`
|
9
9
|
0. その返された値によって`関数1`内の処理を行う
|
10
10
|
|
11
11
|
という感じだと思います。
|
12
12
|
|
13
|
-
↑の通りだとするとベースは
|
13
|
+
↑の通りだとするとベースは以下のような感じで、`async`関数内で適宜`await`を使ってレスポンスを受け取ればよいと思います。
|
14
14
|
`Vue`だと`axios`あたりを使ってるかと思うんですが、`async`関数内で`const response = await axios.get('/*****')`のような形式で非同期処理を待ってレスポンスが取得できます。
|
15
15
|
`fetch`なども同様で`Promise`ベースのものでは基本的にこういった書き方ができます。(もちろん`then`でメソッドチェーンする事も出来ますが、`await`を使うとあらかじめ変数を用意して`then`内で受け取った値を代入...のような事をしなくて済みます)
|
16
16
|
|