Submit Search
Js async
Download as PPTX, PDF
0 likes
214 views
S
Shunji Makino
promise async/await 非同期処理周りの話。発表用
Technology
Read more
1 of 14
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
More Related Content
PDF
Java初心者がJava8のラムダ式をやってみた
Aya Ebata
PDF
できる!並列・並行プログラミング
Preferred Networks
PDF
Raytracing4
Kazuma Hatta
PPTX
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
gree_tech
PDF
continuatioN Linking
Kouji Matsui
PDF
JavascriptでRubyの作り方
Shuyo Nakatani
PDF
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
PDF
Observableで非同期処理
torisoup
Java初心者がJava8のラムダ式をやってみた
Aya Ebata
できる!並列・並行プログラミング
Preferred Networks
Raytracing4
Kazuma Hatta
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
gree_tech
continuatioN Linking
Kouji Matsui
JavascriptでRubyの作り方
Shuyo Nakatani
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
Observableで非同期処理
torisoup
What's hot
(20)
PDF
Getting start with knockout.js
Akio Ishida
PPTX
React.jsを勉強しよう
Hikaru Sato
PDF
Predefを使ったsqlのトレース
悠滋 山本
PDF
ざんねんなワークフロー図鑑
Seiya Noguchi
PDF
Clean Architectureで設計してRxJSを使った話
_kondei
PDF
モダンJavaScript環境構築一歩目
大樹 小倉
PDF
TypeScript 勉強会
Masahiro Wakame
PPTX
非同期系統の基礎
segayuu
PDF
Sencha_Mokumoku_LT
1021ky
ZIP
2012/11/03Hiroshima.rb
Ueki Kouji
PDF
Netcommonsアドオンモジュールセミナー第7回
Mitsuru Mutaguchi
PDF
TypeScript超入門
Narami Kiyokura
PDF
TypeScript 入門してみる
Ken Fukuyama
PDF
大規模なJavaScript開発の話
terurou
PDF
TypeScript 独習会
Masahiro Wakame
PDF
Laravel の学び方と得られる学び
Masaru Matsuo
PDF
【こっそり始める】Javaプログラマコーディングマイグレーション
yy yank
PDF
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
PDF
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
PDF
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
Getting start with knockout.js
Akio Ishida
React.jsを勉強しよう
Hikaru Sato
Predefを使ったsqlのトレース
悠滋 山本
ざんねんなワークフロー図鑑
Seiya Noguchi
Clean Architectureで設計してRxJSを使った話
_kondei
モダンJavaScript環境構築一歩目
大樹 小倉
TypeScript 勉強会
Masahiro Wakame
非同期系統の基礎
segayuu
Sencha_Mokumoku_LT
1021ky
2012/11/03Hiroshima.rb
Ueki Kouji
Netcommonsアドオンモジュールセミナー第7回
Mitsuru Mutaguchi
TypeScript超入門
Narami Kiyokura
TypeScript 入門してみる
Ken Fukuyama
大規模なJavaScript開発の話
terurou
TypeScript 独習会
Masahiro Wakame
Laravel の学び方と得られる学び
Masaru Matsuo
【こっそり始める】Javaプログラマコーディングマイグレーション
yy yank
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
Ad
Similar to Js async
(8)
PPTX
Concurrent Programming in JavaScript
yjono Seino
PDF
Concurrent Programm in JavaScript
yjono Seino
PDF
実践Akka
Huy Do
PPTX
第52回なんてかんたんなJavaEE
civicpg
PDF
Dark vol4 for_slideshare
ara_ta3
PDF
JavaScriptことはじめ
Yuki Ishikawa
PDF
JVMの中身を可視化してみた
Kengo Toda
PDF
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
Concurrent Programming in JavaScript
yjono Seino
Concurrent Programm in JavaScript
yjono Seino
実践Akka
Huy Do
第52回なんてかんたんなJavaEE
civicpg
Dark vol4 for_slideshare
ara_ta3
JavaScriptことはじめ
Yuki Ishikawa
JVMの中身を可視化してみた
Kengo Toda
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
Ad
Js async
1.
JavaScriptの 光と闇を知る 非同期処理の話 Presented by JS初心者まっきー
2.
自己紹介 • Python が好きなJavascript初心者です •
ボルダリング行きたい • @makky_tw
3.
Javascriptといえば非同期処理 • 非同期処理とJavascriptは切っても切れない関係 • 非同期処理を分かっていないとJavascriptはつらい(経 験談) •
イケてるフロントエンジニアとは非同期処理を分か っているということである
4.
キーワード • シングルスレッド • 非同期処理 •
Promise • async/await • promisify ( pify )
5.
なぜ非同期処理が必要か • Javascriptはシングルスレッドで動作する • よってJavascriptは並列処理はできない •
もし全て同期的に処理していたらhttp通信などの時間 のかかる処理で全体の処理が止まってしまう • 非同期処理をすることで時間のかかる処理を待って いる間に他の処理を走らせることが可能になる
6.
問題 • このコードの出力結果は? 1 3 2
7.
問題2 • このコードの出力結果は? 1 2
3 4 5 6 7 8 9 早く表示しろ!
8.
なぜ? • setTimeout()は 「n秒後に実行する」ではなく、 「n秒後に実行キューに追加する」であるから •
すなわち、正確にはsetTimeout(func, n)はn秒後に funcを実行しているのではなく、キューに追加されて から実行されるまでのラグが存在する • キューに追加されてから他の重い処理が割り込むと 、n秒後に実行されていないように感じる
9.
Promise • Promiseは非同期処理のコールバック地獄(コールバック関数を 書きまくってネストが深くなること) から逃れるための仕組み •
コールバック地獄とは何かを簡単なコードで書いた例がココに 載っている http://qiita.com/YoshikiNakamura/items/732ded26c85a7f771a2 7#%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%87%A6%E 7%90%86%E3%82%92%E8%A1%8C%E3%81%AA%E3%81% 86%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%9C%E3 %82%8B%E3%82%B3%E3%83%BC%E3%83%AB%E3%83% 90%E3%83%83%E3%82%AF%E7%89%88
10.
async/await • Promiseはコールバック地獄から逃れる良い手段 • しかし、非同期処理をする回数が不定で合った場合 、thenを不定回数書くことはできないため困る(再 帰的に関数を書けば解決できるが人類で再帰関数を 書きたがる者は稀である) •
async / await を使うことで簡潔で柔軟な処理が書け る
11.
async/await • async/await のコードを書いてみた https://gist.github.com/tonkatu05/a8a846f1db4a790b 1e1854760a4c3beb
12.
promisify (pify) • promisify
あるいは pifyを使って既存の非同期関数を promise化できる • promisifyはnode v8 からの機能 • node v6 の場合はpifyで同等のことが可能(?) • http://abouthiroppy.hatenablog.jp/entry/2017/04/27/1 10733
13.
promisify (pify) • promisifyを使えばたくさんpromise作れてたくさん async/await使えてうれしいね!ということ •
筆者は使ったことがないのでありがたみを感じては いない
14.
最後に • 非同期処理をマスターしてJavascriptを倒そう
Editor's Notes
#2:
参考URL http://qiita.com/gaogao_9/items/5417d01b4641357900c7 http://qiita.com/gaogao_9/items/40babdf63c73a491acbb http://qiita.com/YoshikiNakamura/items/732ded26c85a7f771a27
Download