Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A Evolução do JavaScript Assíncrono
Search
Ruan Martinelli
December 02, 2017
Technology
0
130
A Evolução do JavaScript Assíncrono
Ruan Martinelli
December 02, 2017
Tweet
Share
More Decks by Ruan Martinelli
See All by Ruan Martinelli
Mutation Testing - Backend Meetup @ STRV
ruanmartinelli
2
140
Terra: A solution for Developing WSN Applications
ruanmartinelli
0
32
Other Decks in Technology
See All in Technology
心に火を灯すヒントは自分の中にある/The clue to lighting a fire in your heart is within you.
bitkey
1
130
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
9
3.2k
「エンジニアマネージャー」の役割を担っている / 担ってみたい方へのキャリアパスガイド
coconala_engineer
1
200
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
4
860
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
590
コード品質向上で得られる効果と実践的取り組み
ham0215
0
160
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
100
リポジトリをまるっとAIに食わせるRepomixの話
yamadashy
0
230
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.5k
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
1
280
みんなで育てるNewsPicksのSLO
troter
4
1k
RubyKaigi で得た課題解決法・美意識・モチベーション
morihirok
0
180
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Statistics for Hackers
jakevdp
797
220k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
BBQ
matthewcrist
88
9.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Bash Introduction
62gerente
611
210k
Designing for humans not robots
tammielis
250
25k
Fireside Chat
paigeccino
37
3.3k
Transcript
A EVOLUÇÃO DO. JAVASCRIPT ASSÍNCRONO. RUAN MARTINELLI . ruanmartinelli.com .
@ruanmartinelli .
None
“ANY APPLICATION THAT CAN BE WRITTEN IN JAVASCRIPT, WILL EVENTUALLY
BE WRITTEN IN JAVASCRIPT.” -JEFF ATWOOD, STACK OVERFLOW
# OF PULL REQUESTS octoverse.github.com
None
ECMAScript
None
None
None
1 2 3 4 1 2 3
1 2 3 4 1 2 3 4 ✔ 1
2 3 ✔ 1 2 3
1 2 3 4 1 1 2 2 3 ✔
3 4 ✔ 1 2 3
CALLBACK.
CALLBACK.
CALLBACK.
CALLBACK.
CALLBACK.
CALLBACK.
CALLBACK.
}); }); }); }); }); }); }); }); CALLBACK.
PROMISES.
None
None
None
getLivro() .then() .catch()
PROMISES.
PROMISES.
PROMISES.
PROMISES.
PROMISES.
PROMISES.
PROMISES.
None
ASYNC FUNCTIONS (async/await).
CALLBACK.
PROMISES.
ASYNC FUNCTIONS.
ASYNC FUNCTIONS.
ASYNC FUNCTIONS.
ASYNC FUNCTIONS.
- Sempre retornam uma Promise; ASYNC FUNCTIONS.
??
// true
ASYNC FUNCTIONS. - Sempre retornam uma Promise;
ASYNC FUNCTIONS. - Sempre retornam uma Promise; - Permitem o
uso do await;
None
- Sempre retornam uma Promise; - Permitem o uso do
await; ASYNC FUNCTIONS.
- Sempre retornam uma Promise; - Permitem o uso do
await; - Uso de constructs nativos; ASYNC FUNCTIONS.
None
None
- Sempre retornam uma Promise; - Permitem o uso do
await; - Uso de constructs nativos; ASYNC FUNCTIONS.
- Sempre retornam uma Promise; - Permitem o uso do
await; - Uso de constructs nativos; - Tratamento de erros com try/catch. ASYNC FUNCTIONS.
None
None
None
None
None
- Observables, RxJS; - Generators; - Promise.prototype.finally; - Bluebird; -
Promise Constructor; - Loops em Async Functions. INDO ALÉM....