Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
AY
Uploaded by
asuka y
1,843 views
Async await完全に理解した
JavaScriptの async/await, 非同期処理
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 25
2
/ 25
3
/ 25
4
/ 25
5
/ 25
6
/ 25
7
/ 25
8
/ 25
9
/ 25
10
/ 25
11
/ 25
12
/ 25
13
/ 25
14
/ 25
15
/ 25
16
/ 25
17
/ 25
18
/ 25
19
/ 25
20
/ 25
21
/ 25
22
/ 25
23
/ 25
24
/ 25
25
/ 25
More Related Content
PPTX
async/await のしくみ
by
信之 岩永
PDF
はじめてのGit forデザイナー&コーダー
by
Saeko Yamamoto
PPTX
C# 8.0 非同期ストリーム
by
信之 岩永
PDF
自宅ネットワーク構築
by
asuka y
PDF
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
by
Yoshifumi Kawai
PDF
中3女子でもわかる constexpr
by
Genya Murakami
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
PDF
The Usage and Patterns of MagicOnion
by
Yoshifumi Kawai
async/await のしくみ
by
信之 岩永
はじめてのGit forデザイナー&コーダー
by
Saeko Yamamoto
C# 8.0 非同期ストリーム
by
信之 岩永
自宅ネットワーク構築
by
asuka y
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
by
Yoshifumi Kawai
中3女子でもわかる constexpr
by
Genya Murakami
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
The Usage and Patterns of MagicOnion
by
Yoshifumi Kawai
What's hot
PDF
Jenkins 再入門
by
Jumpei Miyata
PDF
Mavenの真実とウソ
by
Yoshitaka Kawashima
PDF
UniTask入門
by
torisoup
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
PDF
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
by
Yoshitaka Kawashima
PDF
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
by
モノビット エンジン
PPTX
冬のLock free祭り safe
by
Kumazaki Hiroki
PDF
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
by
Genya Murakami
PDF
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
PDF
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
by
Naoya Kishimoto
PPTX
イベント駆動プログラミングとI/O多重化
by
Gosuke Miyashita
PDF
Ansible AWXを導入してみた
by
sugoto
PDF
F#入門 ~関数プログラミングとは何か~
by
Nobuhisa Koizumi
PPTX
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
by
NTT DATA Technology & Innovation
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
PPTX
非同期処理の基礎
by
信之 岩永
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
Unityでオンラインゲーム作った話
by
torisoup
Jenkins 再入門
by
Jumpei Miyata
Mavenの真実とウソ
by
Yoshitaka Kawashima
UniTask入門
by
torisoup
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
by
Yoshitaka Kawashima
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
by
モノビット エンジン
冬のLock free祭り safe
by
Kumazaki Hiroki
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
by
Genya Murakami
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
by
Naoya Kishimoto
イベント駆動プログラミングとI/O多重化
by
Gosuke Miyashita
Ansible AWXを導入してみた
by
sugoto
F#入門 ~関数プログラミングとは何か~
by
Nobuhisa Koizumi
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
by
NTT DATA Technology & Innovation
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
非同期処理の基礎
by
信之 岩永
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
by
慎一 古賀
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Unityでオンラインゲーム作った話
by
torisoup
Similar to Async await完全に理解した
PPTX
モダン JavaScript における非同期処理 - Promise, async/await -
by
Kazunori Hashikuchi
PDF
Async Enhancement
by
kamiyam .
PDF
Promise async await
by
ikdysfm
PDF
非同期の時代がやってくる!
by
Takaaki Suzuki
PDF
パターンでわかる! .NET Coreの非同期処理
by
Kouji Matsui
PDF
これからの「async/await」の話をしよう
by
Kouji Matsui
PDF
いまさら恥ずかしくてAsyncをawaitした
by
Kouji Matsui
PDF
async/await deep dive
by
Takaaki Suzuki
PPTX
JavaScript非同期処理 入門
by
Ishibashi Ryosuke
PPTX
その await 順序 C# では安全 Node.js では致命的 Chrome では?
by
Joni
PPTX
async / await の話
by
yoitakeda
PDF
JavaScriptの非同期処理
by
Takumi Yokoyama
PPTX
Js async
by
Shunji Makino
PDF
async/await不要論
by
bleis tift
モダン JavaScript における非同期処理 - Promise, async/await -
by
Kazunori Hashikuchi
Async Enhancement
by
kamiyam .
Promise async await
by
ikdysfm
非同期の時代がやってくる!
by
Takaaki Suzuki
パターンでわかる! .NET Coreの非同期処理
by
Kouji Matsui
これからの「async/await」の話をしよう
by
Kouji Matsui
いまさら恥ずかしくてAsyncをawaitした
by
Kouji Matsui
async/await deep dive
by
Takaaki Suzuki
JavaScript非同期処理 入門
by
Ishibashi Ryosuke
その await 順序 C# では安全 Node.js では致命的 Chrome では?
by
Joni
async / await の話
by
yoitakeda
JavaScriptの非同期処理
by
Takumi Yokoyama
Js async
by
Shunji Makino
async/await不要論
by
bleis tift
Async await完全に理解した
1.
async await完全に理解した asuka y Nov.
25 2021
2.
対象 JavaScript完全に理解した人
3.
アジェンダ 1. async awaitとは何か 2.
JavaScriptにおけるasync await 3. ベストプラクティス
4.
1. async awaitとは何か
5.
async awaitとは何か async await
→ 非同期関数の構文 非同期関数 非同期関数は async キーワードで宣言され、その中で await キーワードを使うことができます。 async および await キーワードを使用することで、プロミスベースの非同期の動作を、プロミスチェー ンを明示的に構成する必要なく、よりすっきりとした方法で書くことができます。 MDN Web Docs
6.
async awaitとは何か async await
→ 非同期関数の構文 → 糖衣構文だとわかる 非同期関数 非同期関数は async キーワードで宣言され、その中で await キーワードを使うことができます。 async および await キーワードを使用することで、 プロミスベースの非同期の動作を、プロミスチェー ンを明示的に構成する必要なく、よりすっきりとした方法で書くことができます。 MDN Web Docs
7.
そもそも非同期処理とは何か function resolveAfter2Seconds() { return
new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { console.log('calling'); resolveAfter2Seconds(); console.log('called'); } asyncCall(); ①→ ❷→ ③→ start end ① calling ③ called ❷ resolved 非同期
8.
そもそも非同期処理とは何か function resolveAfter2Seconds() { return
new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } async function asyncCall() { console.log('calling'); await resolveAfter2Seconds(); console.log('called'); } asyncCall(); // 非同期関数 ①→ ❷→ ③→ start end ① calling ③ called 非同期 ❷ resolved
9.
async awaitを利用しない場合 function resolveAfter2Seconds()
{ return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { return new Promise(resolve => { console.log('calling'); resolveAfter2Seconds().then(() => { console.log('called'); }); }); } asyncCall(); // 非同期関数
10.
async awaitを利用しない場合 function resolveAfter2Seconds()
{ return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { return new Promise(resolve => { console.log('calling'); resolveAfter2Seconds().then(() => { console.log('called'); }); }); } asyncCall(); // 非同期関数 function resolveAfter2Seconds() { return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } async function asyncCall() { console.log('calling'); await resolveAfter2Seconds(); console.log('called'); } asyncCall(); // 非同期関数 async awaitによってシンプルな構文になる (糖衣構文)
11.
Promiseとは何か function resolveAfter2Seconds() { return
new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { return new Promise(resolve => { console.log('calling'); resolveAfter2Seconds().then(() => { console.log('called'); }); }); } asyncCall(); // 非同期関数 function resolveAfter2Seconds() { return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } async function asyncCall() { console.log('calling'); await resolveAfter2Seconds(); console.log('called'); } asyncCall(); // 非同期関数 async awaitによってシンプルな構文になる (糖衣構文)
12.
Promiseとは何か Promise → 非同期処理の完了の結果およびその結果の値を表す C#のTask
や DartのFuture に相当する Promise 作成された時点では分からなくてもよい値へのプロキシーです。 非同期のアクションの成功値または 失敗理由にハンドラーを結びつけることができます。 これにより、非同期メソッドは結果の値を返す 代わりに、未来のある時点で値を提供するプロミスを返すことで、同期メソッドと同じように値を返す ことができるようになります。 MDN Web Docs
13.
Promiseとは何か ①→ ❷→ ③→ start end ① calling ③ called ❷
resolved 非同期 function resolveAfter2Seconds() { return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { return new Promise(resolve => { console.log('calling'); resolveAfter2Seconds().then(() => { console.log('called'); }); }); } asyncCall(); // 非同期関数 then(成功時)
14.
Promiseとは何か ①→ ❷→ ③→ start end ① calling ③ called ❷
resolved 非同期 function resolveAfter2Seconds() { return new Promise(resolve => { setTimeout(() => { console.log('resolved'); resolve(); }, 2000); }); } function asyncCall() { return new Promise(resolve => { console.log('calling'); resolveAfter2Seconds().then(() => { console.log('called'); }); }); } asyncCall(); // 非同期関数 then(成功時) 非同期のアクションの成功値または失敗理由にハンドラーを結び つけることができる
15.
2. JavaScriptにおけるasync await
16.
2. JavaScriptにおけるasync await 非同期処理
17.
JavaScriptにおける非同期処理 GoやC#では非同期処理といえば並行処理であるが, 挙動から推測するにJavaScriptは並行処理ではない (おそらく歴史的経緯により) Dartもシングルスレッドである JavaScript プロトタイプベースで、 シングルスレッドで、動的型付けを持ち、そしてオブジェクト指向、命令型、宣 言型
(関数プログラミングなど ) といったスタイルをサポートするマルチパラダイムのスクリプト言語で す。 MDN Web Docs
18.
スレッド2 並行処理 start end any... any... 非同期 メインスレッド any... ランタイム側で同時実行しているように 見せかけるようタスクをスケジュールす る
19.
JavaScriptにおける非同期処理 start end any... any... 非同期 スレッド any... 1スレッド内で処理が行われるため,同時に複数の処理が 並行して行われることがない
20.
JavaScriptにおける非同期処理 start end any... any... 非同期 スレッド while (true) {...} 1スレッド内で処理が行われるため,同時に複数の処理が 並行して行われることがない 非同期処理を呼び出した後,非同期処理が実行されるまで の処理が一向に終わらない場合,ブラウザはどうなるのか?
21.
JavaScriptにおける非同期処理 start end any... any... 非同期 スレッド while (true) {...} 1スレッド内で処理が行われるため,同時に複数の処理が 並行して行われることがない 非同期処理を呼び出した後,非同期処理が実行されるまで の処理が一向に終わらない場合,ブラウザはどうなるのか? 画面が一切応答しなくなる (呼び出した非同期処理も実行されない
)
22.
JavaScriptにおける非同期処理 start end any... 非同期 スレッド while (true) {...} 1スレッド内で処理が行われるため,同時に複数の処理が 並行して行われることがない 非同期処理を呼び出した後,非同期処理が実行されるまで の処理が一向に終わらない場合,ブラウザはどうなるのか? 非同期処理が終わらないのもダメ any...
23.
ベストプラクティス
24.
ベストプラクティス 1. 1つの処理が数秒以上実行するような処理を書かない a. 小さい処理の実行単位で非同期処理にする 2.
非同期処理 ≠ 並行処理である a. 非同期で呼び出す処理自体も小さくする必要がある start end any... any... 非同期 スレッド any... 非同期 ...
25.
async await完全に理解した END
Download