(TIL)Asynchronous&Promise
3441 ワード
20.12.22 Asynchronous&Promise
Asynchronous&Promiseセクションでは,非同期と同期に関する概念を学習し,それらを実現した.
ソース:PoiemaWeb
上の図は動機&非動機を区別しやすいようにカフェで注文した場合です.
動機は、受注を実行し、終了するまで次の受注を受け取ることができません.
雨の動機は彼と違って、振動ベルを持って別の場所でやるべきことをしていて、ベルが鳴ったら持って行きます.
Why Asynch?
使用方法:settimout、setInterval、RequestAnimationFrameなど
(ここでrequestAnimationFrameは、Front end開発者がWeb上でファッションアニメーションを実現する際に使用しているので、ぜひ勉強してみてください.) で使用される方法:(node.js)fs.readFile, fs.writeFileなど で使用する方法:(ブラウザ)fetch(http)、(node.js)httpモジュール、データベースアクセスなど
JavaScriptでは、Blocking&Non-Blocking=同期&非同期と考えられます.
ブロックは、待たなければならない状況を意味します.
(ちなみにAlertはblockingなのでWebではあまり使われません)
ブロックなしは、バックグラウンドで実行できることを意味します.
人々は渋滞が大嫌いだ.特に韓国人!
この時に画像をロードして彼らの心を癒しましょう!
このメモを見ると、わが国の人は遅刻が好きではないことがわかります.
ファイルをアップロードすると言ったら、あなたは考えます.
Webにファイルをアップロードする場合は、次の3つの操作を行います.
これをコードに書くとこんな感じになりませんか?
どちらも非モチベーションを実現するために使用されるPromiseの形態である.
差異
Promise機械:
Promise All:同時実行のため
どちらも状況に応じて書けばいいです
- ソース
ぜひ知っておきたい.
Asynchronous&Promiseセクションでは,非同期と同期に関する概念を学習し,それらを実現した.
ソース:PoiemaWeb
上の図は動機&非動機を区別しやすいようにカフェで注文した場合です.
動機は、受注を実行し、終了するまで次の受注を受け取ることができません.
雨の動機は彼と違って、振動ベルを持って別の場所でやるべきことをしていて、ベルが鳴ったら持って行きます.
Why Asynch?
非同期は、上記の図に示すように、サーバが要求を処理するときに他の操作を実行することができる.
次の図を見ると、動機はすべてのことが終わったときに次のことを処理し、非動機は同時に行われるので、時間的要因にもメリットがあります.
Callback?
よく知られているcallbackは「パラメータで関数を呼び出す」です.
非同期で必要とされる機能を順次動作させるためには,1つ目の動作,2つ目の動作,2つ目の動作,Calbackの概念をよく認識し実現しなければならない.
しかし、このように頻繁にCalbackを実行すると、次のようなことが起こります.
ソース:CodeStates
連続的なインデントは、コードの可読性を低下させ、デバッグが容易ではありません.
だから人々は「私たちはこのように書いてはいけませんか?」と言った.約束しながら、
Promise?
ソース:コードステータス
上の画像は通常のCalback関数とは異なりPromiseで構成されている.
PromiseはCalbackを関数のパラメータにしません.
ただし、新しいインスタンス(Promise)のみが返され、resolveとrejectと呼ばれるPromise独自のコールバックが得られます.
上から見る.thenという方法があります.
これで上図のCalback Hellから抜け出すことができます.
async await
async awaitは最近登場した文法で、Promiseよりも簡潔に使用できます.
ソース:CodeStates
上の画像を見ると上端はPromiseと同じですが下端は見えないあの時
ただし、result、one、two、three、fourにはasync、awaitがそれぞれ含まれており、通常の関数のように使用されます.
以下はAsynchronous&Promiseから派生した概念定理である.
1.実際にはどこで非同期を使用しますか?
もちろん、非動機は非常に広い.今回は3つの点を理解しましょう.
1)時間の経過とともに変化するアニメーションを扱う場合、
よく知られているcallbackは「パラメータで関数を呼び出す」です.
非同期で必要とされる機能を順次動作させるためには,1つ目の動作,2つ目の動作,2つ目の動作,Calbackの概念をよく認識し実現しなければならない.
しかし、このように頻繁にCalbackを実行すると、次のようなことが起こります.
ソース:CodeStates
連続的なインデントは、コードの可読性を低下させ、デバッグが容易ではありません.
だから人々は「私たちはこのように書いてはいけませんか?」と言った.約束しながら、
Promise?
ソース:コードステータス
上の画像は通常のCalback関数とは異なりPromiseで構成されている.
PromiseはCalbackを関数のパラメータにしません.
ただし、新しいインスタンス(Promise)のみが返され、resolveとrejectと呼ばれるPromise独自のコールバックが得られます.
上から見る.thenという方法があります.
これで上図のCalback Hellから抜け出すことができます.
async await
async awaitは最近登場した文法で、Promiseよりも簡潔に使用できます.
ソース:CodeStates
上の画像を見ると上端はPromiseと同じですが下端は見えないあの時
ただし、result、one、two、three、fourにはasync、awaitがそれぞれ含まれており、通常の関数のように使用されます.
以下はAsynchronous&Promiseから派生した概念定理である.
1.実際にはどこで非同期を使用しますか?
もちろん、非動機は非常に広い.今回は3つの点を理解しましょう.
1)時間の経過とともに変化するアニメーションを扱う場合、
async awaitは最近登場した文法で、Promiseよりも簡潔に使用できます.
ソース:CodeStates
上の画像を見ると上端はPromiseと同じですが下端は見えないあの時
ただし、result、one、two、three、fourにはasync、awaitがそれぞれ含まれており、通常の関数のように使用されます.
以下はAsynchronous&Promiseから派生した概念定理である.
1.実際にはどこで非同期を使用しますか?
もちろん、非動機は非常に広い.今回は3つの点を理解しましょう.
1)時間の経過とともに変化するアニメーションを扱う場合、
(ここでrequestAnimationFrameは、Front end開発者がWeb上でファッションアニメーションを実現する際に使用しているので、ぜひ勉強してみてください.)
2)ファイルI/O(入出力)
3)ネットワーク要求
2. Blocking & Non-Blocking?
JavaScriptでは、Blocking&Non-Blocking=同期&非同期と考えられます.
ブロックは、待たなければならない状況を意味します.
(ちなみにAlertはblockingなのでWebではあまり使われません)
ブロックなしは、バックグラウンドで実行できることを意味します.
人々は渋滞が大嫌いだ.特に韓国人!
この時に画像をロードして彼らの心を癒しましょう!
このメモを見ると、わが国の人は遅刻が好きではないことがわかります.
3.重複コールバックが発生したケースはどれらがありますか?
ファイルをアップロードすると言ったら、あなたは考えます.
Webにファイルをアップロードする場合は、次の3つの操作を行います.
1)ファイルI/O
2)I/O期間のタイムラインアニメーション
3)ネットワーク要求
これをコードに書くとこんな感じになりませんか?
importFile(result => {
doAnimation(progress => {
uploadFile(result => {
})
})
})
4.Promise chaning & Promise All?
どちらも非モチベーションを実現するために使用されるPromiseの形態である.
差異
Promise機械:
Promise All:同時実行のため
どちらも状況に応じて書けばいいです
5.Promiseの3つの状態
- ソース
1)行列
2)履行(Fulfilled)
3)拒絶(拒絶)
ぜひ知っておきたい.
Reference
この問題について((TIL)Asynchronous&Promise), 我々は、より多くの情報をここで見つけました https://velog.io/@in63119/TILAsynchronousPromiseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol