Jake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...

  Рет қаралды 720,349

JSConf

JSConf

6 жыл бұрын

"In The Loop" presented by Jake Archibald at JSConf.Asia 2018
Have you ever had a bug where things were happening in the wrong order, or particular style changes were being ignored? Ever fixed that bug by wrapping a section of code in a setTimeout? Ever found that fix to be unreliable, and played around with the timeout number until it kinda almost always worked?
This talk looks at the browser's event loop, the thing that orchestrates the main thread of the browser, which includes JavaScript, events, and rendering. We'll look at the difference between tasks, microtasks, requestAnimationFrame, requestIdleCallback, and where events land.
Hopefully you'll never have to use setTimeout hacks again!"
Jake is developer advocate for Google Chrome. He's one of the editors of the service worker spec, so he's into offline-first, push messaging and web performance.
JSConf.Asia - Capitol Theatre, Singapore - 27 January 2018
Source: 2018.jsconf.asia/
License: For reuse of this video under a more permissive license please get in touch with us. The speakers retain the copyright for their performances.

Пікірлер: 527
@The9TKitsune
@The9TKitsune 5 жыл бұрын
When you want to be a stand up comedian and life makes you a JS expert
@eritreanism
@eritreanism 4 жыл бұрын
on point :)
@oleksii208
@oleksii208 4 жыл бұрын
hahahahah
@markmhaslam
@markmhaslam 4 жыл бұрын
Seriously! He's super funny. I would honestly love to watch him do stand-up.
@LethiuxX
@LethiuxX 3 жыл бұрын
Comedy is his hobby, it seems.
@perfect.stealth
@perfect.stealth 3 жыл бұрын
Lmao
@ronniesunshine1163
@ronniesunshine1163 3 жыл бұрын
Tough crowd, this is probably one of the best programming talks I've ever listened to
@ReachByteBurst
@ReachByteBurst 2 жыл бұрын
true
@stefanplusplus917
@stefanplusplus917 2 жыл бұрын
what do yo mean with tough crowd?
@andy_lamax
@andy_lamax 2 жыл бұрын
I agree. This was a tough crowd
@bro...5849
@bro...5849 Жыл бұрын
@@stefanplusplus917 he means the crowd is difficult to make laugh
@TheMandySpace
@TheMandySpace Жыл бұрын
I was there, more people laughed than you think. :D But i agree it is one of the best talks Ive ever seen
@anonwithamnesia
@anonwithamnesia 4 жыл бұрын
Who is here because of Fireship?
@starhopper4587
@starhopper4587 4 жыл бұрын
🙋🏻‍♀️🔥
@shimin_mathew
@shimin_mathew 4 жыл бұрын
Me me 🤗🤗
@herohamp2
@herohamp2 4 жыл бұрын
Hola
@mykhailomikhnovych8303
@mykhailomikhnovych8303 4 жыл бұрын
yup :)
@AmanNidhi
@AmanNidhi 4 жыл бұрын
me during may lockdown covid
@buddhaburrito
@buddhaburrito 3 жыл бұрын
Jake is a truly genius presenter, sliding in jokes in between heavy subjects (like microtasks) so that audience can take mental rests
@Nyromancer
@Nyromancer 6 жыл бұрын
Humour is his hobby I guess. At least I find him funny, tough crowd...
@jakearchibald
@jakearchibald 6 жыл бұрын
In standup gigs they mic the audience too. They were more alive than the video suggests (but still pretty quiet)
@JAlexanderCurtis
@JAlexanderCurtis 5 жыл бұрын
Yeah I actually found his jokes to be pretty funny. I at least chuckled at most of them. My guess is the audience might have been giggling and chuckling too, but the laughter wasn't picked up by his lav mic. At 18:30 when he talks about the fizzy water, it's dead silent, but the way he rifted on it for a second indicates that he was probably getting a decent response from the audience.
@Litonfiredesign
@Litonfiredesign 5 жыл бұрын
@@JAlexanderCurtis Thats him that you responded too ;-) Great work on the presentation @jake quality. Thanks for your efforts.
@utsavprabhakar5072
@utsavprabhakar5072 5 жыл бұрын
@@jakearchibald Thanks for this !
@erikachurchman9417
@erikachurchman9417 4 жыл бұрын
wow
@JaLikon65
@JaLikon65 11 ай бұрын
Why on earth did people not stand up and cheer after this! This is EASILY the best talk I've ever seen on the JS event loop and related topics. Seriously, it takes other resources like 20x the time to explain this, and this is arguably more thorough then a lot of other resources. Just hats off man, WOW is this good.
@DonaldFranciszekTusk
@DonaldFranciszekTusk 2 ай бұрын
Robbers' talk was better.
@SamiullahKhan
@SamiullahKhan 6 жыл бұрын
He really hit the core of the event loop. Something that is so important to get hold of tasks, micro tasks.
@dakedres
@dakedres 4 жыл бұрын
I love how it feels like he's going on completely unrelated tangents but it always seemlessly transitions back into the main idea
@atticoos
@atticoos 6 жыл бұрын
Hot damn, Jake.. this is one of the best talks I've seen. Well done.
@vishnusingh4118
@vishnusingh4118 4 жыл бұрын
7:08 Task Queues 8:55 render steps 12:15 hence the timeOut loop is not 'render blocking'. 12:29 but if you want to run code that has anything to do with rendering, a task is the wrong place to do it, coz it's on the 'opposite' side of the world from rendering, as far as the event loop is concerned. 24:00 MicroTasks (RAF - RequestAnimationFrame finishes here )
@herzallahaymen5478
@herzallahaymen5478 Жыл бұрын
give us a smmary of the jokes
@LichardD
@LichardD 4 жыл бұрын
Came here to learn about event loops. I now fear those who drink fizzy water.
@maximlyakhov967
@maximlyakhov967 2 жыл бұрын
This is the best event loop talk on YT. Well balanced mental load / mental rest. Thank you, Jake!
@benoitleger-derville4162
@benoitleger-derville4162 6 жыл бұрын
Best show and explanation ever about the the V8 event-loop / main thread / tasks / microtasks
@dinub8414
@dinub8414 6 жыл бұрын
Yep. Thanks to Jake! Worth mentioning, though, that the event loop doesn't run within the V8 javascript engine, but natively in the browser. The javascript runtime has no own event loop. I found Phil Roberts' talk very good, too: kzfaq.info/get/bejne/bsd3m72C0NWqkoU.html
@InternetTips_bb
@InternetTips_bb 4 жыл бұрын
Jake is an amazing asset for the JS community!
@codeaperture
@codeaperture 3 жыл бұрын
I always watch this when I feel " you don't know JavaScript yet,,"
@ashishshubham
@ashishshubham 5 жыл бұрын
I wish I learnt all my CS courses from you Jake.
@thefuturejulio
@thefuturejulio 5 жыл бұрын
I feel like I just watched epic blockbuster with huge budget, Tom Cruise and stuff
@faceupanddown
@faceupanddown 5 жыл бұрын
Same!
@bg_x6558
@bg_x6558 5 жыл бұрын
This talk is soooo informative. A single effective visual plus narrative beats a thousand words. Could someone enlighten me of the tool or the way for the speaker to make the slides (or something else) ?
@DheerajBhaskar
@DheerajBhaskar 5 жыл бұрын
I'm also interested. I think he used HTML5 and js to make this
@ys5399
@ys5399 5 жыл бұрын
I think I know you from Columbus Ohio??
@kieran2347
@kieran2347 3 жыл бұрын
Thank you for explaining event loops for all of us 5-year-olds, Jake! You the best!
@justinhalsall4077
@justinhalsall4077 6 жыл бұрын
Love Jake's talks, always super solid, informative and even include some giggles from time to time!
@sgwatyt
@sgwatyt 6 жыл бұрын
The main Fred.
@jakearchibald
@jakearchibald 5 жыл бұрын
I find it very difficult to discuss the movie Thor.
@omarflores4234
@omarflores4234 5 жыл бұрын
i cannot unhear this hahaha
@hobbyturystaSEO
@hobbyturystaSEO 4 жыл бұрын
:D
@JuanOrigami
@JuanOrigami 5 жыл бұрын
The piano chat part is totally relatable. When i do a talk in front of thousands of people I want to be as funny as this man
@jlyunior
@jlyunior 2 жыл бұрын
This talk has to be displayed in the best Cinemas :) amazing talk 3 years later and im totally sure that will be a good talk to watch again in 2035
@anjaliRaghavmgr8
@anjaliRaghavmgr8 4 жыл бұрын
Loved the energy he brings to the talk. Informatively hilarious!
@mattscheurich1037
@mattscheurich1037 5 жыл бұрын
Super great explainer, whoever did the design for the animations deserves a massive shout-out. Well thought out and great visual metaphors too.
@jakearchibald
@jakearchibald 5 жыл бұрын
I do all my own stunts
@rizaldywirawan
@rizaldywirawan 4 жыл бұрын
​@@jakearchibald Full Stack Speaker, i guess :v ... Can you tell us what software do you use or how you create the animation, please?
@mreyybree
@mreyybree 4 жыл бұрын
@@rizaldywirawan He uses HTML+CSS+JS+SVG
@XAbybai
@XAbybai 6 жыл бұрын
I repeat others, but I want to give the great thanks to that speaker. Very very nice talk about loop, promise, RAF and others tricky cases. Thanks you a lot!
@maximofernandez196
@maximofernandez196 Жыл бұрын
"You don't want to write a code that is like a sneeze". Yeah, this is probably one of the best talks I've ever seen, actually pedagogical if we think about it
@markovujanic
@markovujanic Жыл бұрын
This video sits much better after third time 'through the loop'. Thanks Jake for creating it.
@ananthakrishnanj729
@ananthakrishnanj729 5 жыл бұрын
Most informative and engaging talks on event loops! Kudos Jakes.
@Ashok-wc9be
@Ashok-wc9be 4 жыл бұрын
This guy is super awesome and this talk is probably the best talk on the event-loop out there! Thanks a lot!
@AmandeepSingh-hd8iq
@AmandeepSingh-hd8iq 5 жыл бұрын
Now this is what you call a talk. Impeccable 👌
@SocksWithSandals
@SocksWithSandals 4 жыл бұрын
I was that guy who would throw in a setTimeout and play around with the delay number until the manual test matched the automated test. It would raise an eyebrow at code reviews, but I'm a pragmatist not a purist. Now I know why I was right! Thanks Jake.
@faceupanddown
@faceupanddown 5 жыл бұрын
You can have a new hobby at which you are extremely good and it's technical presentations about JS and web. Aaaa, also, the how different queues are processed made shivers run up my neck. Really excited. Wife (who is senior QA) is getting jealous of you :p
@indylawi5021
@indylawi5021 4 жыл бұрын
Great, fun to watch, very intuitive (with a good sense of humor) presentation for a deep insight into what is going on inside the JS event loop. Jake, you definitely nail JS event loop.
@MiltonSosa
@MiltonSosa 6 жыл бұрын
Amazing explanation on how event-loop, RAF and micro-tasks works!
@paavangupta3420
@paavangupta3420 2 жыл бұрын
His way of explaining things with so much clarity and hilarious jokes in between, is on the next level 😂🙌 Amazing!
@c9988774455
@c9988774455 6 жыл бұрын
I never Heard about Microtasks even though I am using Promises, Great visual comparison between JSTasks, rAF and Microtasks. Awesome stuff Jake.
@MajorBreakfast
@MajorBreakfast 6 жыл бұрын
Thank you for including the part about microtasks! Very informative!
@Pupu._
@Pupu._ 2 жыл бұрын
great video! I might need to watch again to wrap up the concepts but he's a great speaker with fun ! I hope he gives us more talks like this
@mr_ozio
@mr_ozio 3 жыл бұрын
This is the must watch video before any js interview.
@ashokethapay
@ashokethapay 8 ай бұрын
What an amazing talk. It cleared out lot of my queries around the event loop, when the browser prepares a frame, and how much javascript it runs before the frame. Thanks, Jake!!!
@dima9740
@dima9740 6 жыл бұрын
Oh my gosh, that's very simple, clear and informative. Great speaker, great presentation.
@karadelamarck6576
@karadelamarck6576 6 жыл бұрын
Thank you for an excellent talk! Fascinating, especially regarding promises and microtasks and how the microtask queue must run to completion before the event loop can continue. Could I ask how callbacks and promises (both of which generate short-lived objects) are affected by, or affect, garbage collection? When the new space is full how does the V8 engine handle the 'stop the world' technique in relation to the event loop? Is there a potential for callbacks to be more performant regarding garbage collection vs promises?
@shivam.mishra
@shivam.mishra 3 жыл бұрын
Never had such a clear vision of the event loop. Thanks jake
@smitthakkar9837
@smitthakkar9837 Жыл бұрын
One of the best talks till date on event loop! Thanks a lot!
@xingyuye0313
@xingyuye0313 2 жыл бұрын
This is the best talk on the "event loop" I've ever seen!
@Gelio1234
@Gelio1234 6 жыл бұрын
What a great talk! So much useful information presented in a convenient and easy to understand way
@cli23
@cli23 3 жыл бұрын
Amazing talk in so many ways. Incredible speaker, slides and diagrams, and content.
@raymondyoo5461
@raymondyoo5461 Жыл бұрын
wow great lecture. Talking about deep and complex notions in such a concise tone, thanks for your great presentation
@__azt
@__azt 5 жыл бұрын
Wow! That is one of the most informative talks I ever heard.
@Textras
@Textras 6 жыл бұрын
Superb talk Jake. As always!! Now time for a lime soda water.
@dnav10
@dnav10 5 жыл бұрын
Didn't know anything about this. Now I feel like wanting to dig more into JavaScript
@jasonsebring3983
@jasonsebring3983 5 жыл бұрын
I feel like I just started learning this stuff and I've been doing it for so long. Amazing!
@dacao9240
@dacao9240 Жыл бұрын
I want to download this video and save it in my laptop, just in case youtube goes down. That's how much I love this video.
@shenoynishant
@shenoynishant 5 жыл бұрын
This is awesome! I had developed a parallax feature using rAF, and I was wondering why it was smooth on Chrome but janky on Edge, this explains it :)
@johnlennon407
@johnlennon407 7 ай бұрын
Wow, what a fantastic performance! Entertaining and informative, with deep philosophical thoughts like sneezing metaphor or orbits and sun animations. The lector is brilliant.
@ShahriarAnwar
@ShahriarAnwar 6 жыл бұрын
Just AWESOME. Jake you're my man.
@tinpham6413
@tinpham6413 2 жыл бұрын
This is the best presentation so far i've seen from the badass talking and animation for slide, but sad for the dead crowd
@sudeep.g
@sudeep.g 4 жыл бұрын
One of the best talks I have ever seen!
@mukeshsoni
@mukeshsoni 6 жыл бұрын
I was so stressed in the last 3-4 minutes looking at that guy standing besides Jake. I thought any second now he would pull the mic away from Jake and cuff him. side note - What a thoroughly enjoyable presentation 👏
@jakearchibald
@jakearchibald 6 жыл бұрын
Yeah, that was a bit weird. I told them in advance that I might run over ~4 mins. Although I really didn't notice them standing there.
@stackdeveloper6614
@stackdeveloper6614 5 ай бұрын
My life as a developer changed after this talk!
@Imsganesh
@Imsganesh 6 жыл бұрын
Great talk. Elegant and simple explanation!! 👏👏
@nikosc
@nikosc 4 жыл бұрын
Wow. After that talk I used many blogs and MDN docs to fully understand these topics.
@feihcsim7045
@feihcsim7045 6 жыл бұрын
my man jake killing it again
@xerxius5446
@xerxius5446 4 жыл бұрын
Finally, a JS expert with a sense of humor !
@SafetyLast-_-
@SafetyLast-_- 2 жыл бұрын
The best explanation of the Event Loop out there 👍
@s3340985
@s3340985 3 жыл бұрын
Great humor, tough crowd :) But honestly, very informative, thank you!
@AhmadAwais
@AhmadAwais 6 жыл бұрын
Just like always, amazing presentation, especially when you magically swapped those lines around at 2:25 😲
@fadedlama
@fadedlama 3 жыл бұрын
nani?!
@promatik
@promatik 5 жыл бұрын
What a great feeling, just learned awesome stuff. Thanks!
@user-db2bl1oj1v
@user-db2bl1oj1v 3 жыл бұрын
Amazing video. You make the subject very clear
@norwen
@norwen 4 жыл бұрын
Thank you for this amazing talk! Whole new world :)
@mweb7344
@mweb7344 2 жыл бұрын
that looks and sounds like a real world Sheldon, Great talk !!
@amanmavai99
@amanmavai99 6 ай бұрын
one of the best talks I have ever seen. !!
@shikharchaudhary6984
@shikharchaudhary6984 5 жыл бұрын
Amazing talk. Cleared my concepts. Good Job !
@yonoseespanol
@yonoseespanol 2 жыл бұрын
For those who find this incredibly interesting, Jake and Surma have a talk show called HTTP 203
@NorthEagle
@NorthEagle 5 жыл бұрын
Why the F isn't this video watched 1 million times? This is amazingly informative and presented in a really really good way :-)
@sujitkumarsingh3200
@sujitkumarsingh3200 5 жыл бұрын
Very few people are capable of understanding this.
@saurabhmehta7681
@saurabhmehta7681 4 жыл бұрын
Great talk! And his level of understanding is inspirational
@anirudhsreerambhatla6108
@anirudhsreerambhatla6108 4 жыл бұрын
This is one of the best talks I have seen after Phillips Roberts What the heck is the event loop? Both these talks helped me understand the Event Loop and get better context I then took the JS the Hard Parts from Front End Masters by Will Sentence. It was great. I got a better understanding of the the async and concurrency model of JS
@kf88743
@kf88743 4 жыл бұрын
I have followed the same path, except in reverse. I came here after watching all of Will Sentence's videos on Front End Masters. He is by far my favorite instructor there.
@EduardoWeidmanBarijan
@EduardoWeidmanBarijan Жыл бұрын
That was easy to follow even though I get stuck a lot when it comes to frontend programming. Good job.
@RubenMiquelino
@RubenMiquelino 3 жыл бұрын
fucking amazing. i wish every talker has this kind of humor
@afca25
@afca25 2 жыл бұрын
That's a tough crowd if i've ever seen one... My man is killing it there!!
@havenoideawith
@havenoideawith 6 жыл бұрын
Love the main thread animation.☺️
@afca25
@afca25 2 жыл бұрын
That piano bit was straight up Larry David-esque humor and I loved it!
@nukebarbarbarian3735
@nukebarbarbarian3735 9 ай бұрын
This is the best video on event loop so clear!
@Munchyydl
@Munchyydl 6 жыл бұрын
Great visual explanation of the event loop! :)
@KaranSheth
@KaranSheth 3 жыл бұрын
This is so good! Its like Simon Amstell coming to teach me about javascript stuff!
@mr.fishfish570
@mr.fishfish570 Жыл бұрын
Thank you very much for doing this presentation!
@mryechkin
@mryechkin 3 жыл бұрын
Man.. tough crowd! This was a great talk
@PaulShmaul
@PaulShmaul 2 жыл бұрын
Best explanation of event loop, indeed
@1kounter
@1kounter 5 жыл бұрын
clear and simple explanation for a beginner to get a grasp of what is going on under the hood, well done! Correct if I'm wrong but I think there is a mistake in the little exercise at 30:32 . It should be promise.then('Microtask 1') instead of promise.then('Listener 1') and same for number 2.
@ihateslowcars
@ihateslowcars 6 жыл бұрын
The jokes were hilarious and were even funnier because the audience was so painfully silent. Without a doubt, it made the talk better and made me like you more. I'm guessing there was some sort of language barrier there with the audience.
@jakearchibald
@jakearchibald 6 жыл бұрын
Yeah, the audience was quiet in general. But also, since the audience wasn't mic'd, a moderate giggle turns into *silence*.
@rpmarin8933
@rpmarin8933 4 жыл бұрын
This is a wonderful talk! A very illustrative and beautiful explanation of the javascript's internals. Do any of you know a talk about the internals of other languages like this ? Java? Python? PHP ?
@danieltroger1761
@danieltroger1761 Жыл бұрын
This talk was SOOO GOOOd. TYSM 🙏
@herozero777
@herozero777 8 ай бұрын
Yup this is really helpful, thanks for this awesome talk.
@shuvenduoffline
@shuvenduoffline Жыл бұрын
Best explanation you can find
@MerrStudio
@MerrStudio Жыл бұрын
I love this talk, great job
@HarshSingh-hk8fe
@HarshSingh-hk8fe 2 жыл бұрын
this is the best explanation of even loops
@waldemarenns4874
@waldemarenns4874 3 жыл бұрын
A classical Archibald. Great talk!
@dattugaade
@dattugaade 5 жыл бұрын
It's very informative. Thanks Jake.
@zubinix
@zubinix 3 жыл бұрын
Great explanation. Thanks Jake.
@jomgranade8764
@jomgranade8764 4 ай бұрын
Thank you for this! This will help me in my reactjs development!
How I would learn Leetcode if I could start over
18:03
NeetCodeIO
Рет қаралды 210 М.
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 70 МЛН
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 3,5 МЛН
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 22 МЛН
Funciones Recursivas en Situaciones Reales
10:22
hdeleon.net
Рет қаралды 6 М.
JavaScript Event Loop: How it Works and Why it Matters in 5 Minutes
7:20
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
12:35
Она утонула. Трагедия в Царском селе: все молчат
38:47
Инспекция комнаты Кати
24:14
Miss Katy
Рет қаралды 101 М.
The mind behind Linux | Linus Torvalds | TED
21:31
TED
Рет қаралды 6 МЛН
Три Кота | Все серии | Мультфильмы для детей
Три Кота: Мультфильмы для детей
Рет қаралды 7 М.
WWDC 2024 - June 10 | Apple
1:43:37
Apple
Рет қаралды 10 МЛН
iPhone 12 socket cleaning #fixit
0:30
Tamar DB (mt)
Рет қаралды 32 МЛН
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Корнеич
Рет қаралды 832 М.
Best Beast Sounds Handsfree For Multi Phone
0:42
MUN HD
Рет қаралды 341 М.
AI от Apple - ОБЪЯСНЯЕМ
24:19
Droider
Рет қаралды 91 М.
i like you subscriber ♥️♥️ #trending #iphone #apple #iphonefold
0:14