Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
You don't know Promises - IT Konekt April 2019
Search
Ivan Jovanovic
April 20, 2019
Technology
86
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
You don't know Promises - IT Konekt April 2019
Ivan Jovanovic
April 20, 2019
More Decks by Ivan Jovanovic
See All by Ivan Jovanovic
Micro Frontends - A microservice approach to the modern web - Oredev 2019
ivanjov
0
110
Micro Frontends - A microservice approach to the modern web - O'Reilly Software Architecture Berlin 2019
ivanjov
0
90
React State - The Good, the Bad and the Ugly - ArmadaJS
ivanjov
0
140
Thinking Reactive in JavaScript - Sphere.it JS Krakow
ivanjov
0
88
Micro Frontends - A microservice approach to the modern web - PHPSrbija
ivanjov
0
230
Micro Frontends - A microservice approach to the modern web - Codemotion Rome 2019
ivanjov
0
360
Mikro Frontendi - Uvod - Novi Sad JS
ivanjov
0
180
Software engineer marketing done right – career tips from my experience.
ivanjov
0
59
Micro Frontends - A microservice approach to the modern web - Full Stack London 2018
ivanjov
0
250
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
120
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
150
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
130
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
140
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
200
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
210
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
31
430k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.4k
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
380
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
470
Featured
See All Featured
Bash Introduction
62gerente
615
220k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Making Projects Easy
brettharned
120
6.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Crafting Experiences
bethany
1
390
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Making the Leap to Tech Lead
cromwellryan
135
10k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Transcript
You don't know Promises
I am Ivan Jovanovic Senior Software Engineer, Tech Speaker You
can find me at @ivanjov96 or https://ivanjov.com Hello! IJ Consulting
Why I don't know Promises?
None
None
I am here today To show you how Promises really
work!
JavaScript is strange because ‒ It was built for 10
days ‒ It has one thread ‒ It is synchronous and asynchronous ‒ It is everywhere ‒ It is different
Only one thread And the event loop
None
How do we handle async code? Promises Callbacks Async/await
Callbacks Where everything began... 1
“ A callback is a function that is passed as
an argument and will be executed after another function has finished executing.
None
None
Promises Changed everything 2
“ The Promise object represents the eventual completion (or failure)
of an asynchronous operation, and its resulting value.
None
None
How Promises really work? The answer is a Microtask queue!
None
Microtask queue ‒ Independent queue ‒ Used by: process.nextTick, Promises,
Object.observe, MutationObserver ‒ Faster than the main queue and may be drained several times in a single event loop tick
None
Next TICK ONE Next TICK TWO TIMEOUT AFTER-ONE TIMEOUT AFTER-TWO
Promise methods ‒ Promise.all(iterable) ‒ Promise.race(iterable) ‒ Promise.resolve(value) ‒ Promise.reject(reason)
Promise.all(iterable)
Rejected situation
Promise.race(iterable)
Promisify non-Promise code
Native Promises from libraries
Async/await Comes to the rescue 3
“ Async/Await is a special syntax for working with Promises.
None
Most common problems with Promises that we see every day!
9
Nested promises 1
None
None
Broken Promise chain 2
None
None
Mixing sync and async code 3
None
None
None
Missing catch 4
None
None
None
Forget to return a Promise 5
None
None
Promisified synchronous code 6
None
Mixing Promise and Async/Await 7
None
None
Async function that returns Promise 8
None
None
None
Define a callback as an async function 9
None
Clinic.js https://clinicjs.org/
Conclusion ‒ JS is crazy and great at the same
time! ‒ Async behavior is a pro, not a con. ‒ Be careful when using Promises, it's great and dangerous at the same time!
Any questions ? You can find me at ‒ @ivanjov96
‒
[email protected]
Thanks!