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
150
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
180
Terra: A solution for Developing WSN Applications
ruanmartinelli
0
47
Other Decks in Technology
See All in Technology
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
750
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
700
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
110
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
870
Capitole du Libre 2025 - Keynote - Cloud du Coeur
ju_hnny5
0
100
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
340
QAセントラル組織が運営する自動テストプラットフォームの課題と現状
lycorptech_jp
PRO
0
410
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
100
LINEヤフー バックエンド組織・体制の紹介
lycorptech_jp
PRO
0
280
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
52
17k
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
240
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
400
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
KATA
mclloyd
PRO
32
15k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Designing for humans not robots
tammielis
254
26k
A Tale of Four Properties
chriscoyier
162
23k
Bash Introduction
62gerente
615
210k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Language of Interfaces
destraynor
162
25k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
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....