😊
Javascriptのpromiseについてのメモ
-
同期処理と非同期処理
- 同期処理は順序通りに処理
- 非同期処理は実行順が書いた通りにならない
-
コールバック関数
- callback = 呼び戻し・電話の掛け直し
- 作業完了後の処理を書く関数のこと
-
コールバック関数とネスト
- ネスト = 入れ子
- コールバック関数を「待ち時間のある処理」の「終了時に呼び戻す目的」で使うとするとめちゃくちゃ読みにくい構造になる
- それを解消するのがPromise
-
Promiseとthenとresolve
- Promiseは非同期処理を同期処理っぽく書けるもの
- 非同期処理を入れ子ではなく縦に順番に書くことができる
- 書き方
1.Promiseオブジェクトを作る
new Promise( 時間のかかる処理A )
1.Promiseオブジェクトのthenを使う
Promiseオブジェクト.then( 処理Aが終わったあとの処理 )
※thenはPromiseオブジェクトを返すので数珠繋ぎにできる
Promiseオブジェクト.then( 処理 ).then( 処理 ).then( 処理 )
- 基本的にthenに登録した関数を順に実行していく
- returnでPromiseを返すと、登録した処理の終了後に次のthenで登録した関数を実行す
- returnでPromiseを返さない場合はすぐに次のthenで登録した関数を実行する
- resolveを使うと処理の終了を知らせられる
- resolveの引数
- Promiseのresolveには引数を書ける
- Promiseは非同期処理を同期処理っぽく書けるもの
-
reject
- resolveと対になる
- Promiseのコールバックの引数で失敗した時に使う
Discussion