Тёмный

Вебинар: Асинхронность в JavaScript. Таймеры, промисы, async/await 

loftblog
Подписаться 382 тыс.
Просмотров 43 тыс.
50% 1

Комплексное обучение JavaScript: loftschool.com...
Разберемся с одной из самых интересных и важных тем в JS - асинхронностью. Таймеры, промисы, async/await.
Ведущий: Сергей Мелюков - frontend-разработчик в Авито и автор курса по JS в LoftSchool.
Отличная возможность на несколько часов стать нашим студентом, посмотреть, как проходит обучение и пообщаться с главным преподавателем курса по JS.

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 67   
@allawitte8681
@allawitte8681 6 лет назад
На мой взгляд - это один из лучших рассказов об ассинхронности и промисах. Лектор - просто талант доносить сложные вещи так, чтобы было понятно
@smelukov
@smelukov 6 лет назад
Alla Witte спасибо )
@cassinid8843
@cassinid8843 5 лет назад
Спасибо, очень понятно. Лучший материал для начала вникания в асинхронность. К слову, Сергей так хорошо ведет вебинары, что иногда забываешь о том, что это все риал-тайм, а не готовое отмонажированое видео. Мое почтение таким талантам!
@SyntheticaYTube
@SyntheticaYTube Год назад
Все понятно, более того стиль объяснения цепляет внимание, что за трюк😮 отличный лектор
@vasya8441
@vasya8441 5 лет назад
это великолепный урок, очень все подробно рассказано, лучше чем в книге
@iioposterplind1923
@iioposterplind1923 3 года назад
Действительно очень крутое видео на данную тему, самое детальное из того, что видел, но после 20ой фразы "Есть ещё одна особенность " становилось уже не по себе)
@Сергей-у3к8й
@Сергей-у3к8й 4 года назад
1. JS изначально однопоточный язык программирования. 2. Асинхронность - это выполнение параллельных вычислений в рамках ОДНОГО потока, реализуется через очередь задач на уровне интерпретатора. 3. Промисы - это конструкция языка, придуманная для организации асинхронного кода, взамен коллбэк ада. 4. Async\await - заменяет then в цепочке вызова промисов.
@anastasiias7117
@anastasiias7117 6 лет назад
Очень подробно и полезно. Вот бы еще такой вебинар по итераторам и генераторам :)
@kri4evskiy
@kri4evskiy 4 года назад
Шикарно! Особенно после ознакомления с EventLoop подкапотным - ЭТОТ ВЕБИНАР про асинхронность зашёл просто на ура)
@ВладимирКолесников-и9щ
спасибо, в 2023 всё ещё одно из лучших видео по теме
@artemkrasnogir4673
@artemkrasnogir4673 3 года назад
Для тех, кто не совсем понял идею с промисами, сам по себе then не обеспечит вам последовательное выполнения команд, к примеру: const delay = ms => { return new Promise(resolve => { setTimeout(() => { resolve() console.log('resolved') }, ms) }) .then(() => { setTimeout(() => { console.log('some') }, 2000) }) .then(() => console.log('ended')) } delay(2000) // Выведет 'resolved' -> 'ended' -> 'some' Чтобы не происходило следующего и мы хотели бы обеспечить последовательное выполнение операций, нужно переписать код следующим образом и вернуть новое обещание: const delay = ms => { return new Promise(resolve => { setTimeout(() => { resolve() console.log('resolved') }, ms) }) .then(() => { return new Promise(resolve => { setTimeout(() => { resolve() console.log('some') }, 2000) }) }) .then(() => console.log('ended')) } delay(2000) // Выведет 'resolved' -> 'some' -> 'ended'
@angelikakhodzhaian2072
@angelikakhodzhaian2072 3 года назад
думала поняла, прочла комментарий - поняла, что ничего не поняла :/ просмотрю-ка я еще раз вебинар :D
@JohnLee-bo9ft
@JohnLee-bo9ft 5 лет назад
Насчёт таймеров и их очереди в параллельном стеке, вы не совсем правы , setTimeOut это не функция самого js, а расширение предоставляемое браузером, поэтому там не та логика, что была представлена в видео, отсчет таймеров идет параллельно за счет самого браузера, а не вычисляется вычитанием, второго аргумента таймера из старта операции после окончания выполнения основного контекста
@hatrick3117
@hatrick3117 6 лет назад
интересно. спасибо
@bionicle0_o440
@bionicle0_o440 Год назад
5 лет прошло , а промисы лучше так никто и не объяснил! Лучшее видео по промисам!
@MrVolkoed
@MrVolkoed 5 лет назад
Шикарно, спасибо! Видно, что от души. Лайк стопицоттыщраз)
@WinchesterD
@WinchesterD Год назад
Спасибо за вебинар, очень талантливый лектор, разобрал много технических нюансов которые не объясняются так подробно в документации. Подача материала тоже на высоте, в начале я думаю " - Ой, вебинар на 2 часа, ну нафиг смотреть столько", а в итоге смотрится на одном дыхании.
@АлександрКуликов-в8м
Хороший вебинар! Очень подробно и доступно. Ставлю лайк!
@pogios
@pogios 3 года назад
Браво! даже не смотря что данное видео было записано давным-давно, оно до сих пор актуально и реально это наверное единственное объяснение которое мне реально помогло понять и ассинхронность и fetch и promise, async, await! огромная благодарность за данный контент!
@valeriygalev2933
@valeriygalev2933 5 лет назад
Не работает XMLHttpRequest при нажатии на кнопку Загрузить - Access to XMLHttpRequest at 'file:///D:/IT/text.txt' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
@MyFinist
@MyFinist 6 лет назад
Больше бы таких уроков на ютубе. Респект!
@kashasa
@kashasa 6 лет назад
Очень подробное и понятное объяснение, большое спасибо!
@karasala7722
@karasala7722 4 года назад
Салют из 2020
@gooddha
@gooddha 6 лет назад
Спасибо, после просмотра мне стало понятно, что такое асинхронность и промисы.
@theBestMan001
@theBestMan001 2 года назад
Брат оттап кеттің ғой бір нәрсені айта беріп, ұйқым келіп кетті ғой сені тыңдап
@Bad-s7r
@Bad-s7r 6 лет назад
действительно толково разъяснил. спасибо!
@whiteguards43
@whiteguards43 Год назад
1:51 разве основной поток не должен выполниться первым? А после уже макротаски???
@Catafey1
@Catafey1 6 лет назад
Спасибо вам, Сергей! Все очень понятно и полезно. Не слушайте хейтеров. У видео со временем будет много просмотров. В ютюбе нету больше такого качественного видео как у вас.
@smelukov
@smelukov 6 лет назад
Anatoliy спасибо за отзыв )
@АлексейМедведев-ю3м
Лучшее объяснение по асинхронности из всех, что я встречал!
@suslikest3708
@suslikest3708 5 лет назад
Лойс с 2к19 асинхронность все еще актуальна)))
@yakub8798
@yakub8798 3 года назад
осенью 2021 тоже актуальна
@Hey__Luna__912
@Hey__Luna__912 2 года назад
@@yakub8798 весной 2022 все так же актуальна
@BearVodkaAndValenki
@BearVodkaAndValenki 6 лет назад
Крутой вэбинар, спасибо.
@Arctikus
@Arctikus 6 лет назад
Благодарю за лекцию. Супер!
@AndreySaroul
@AndreySaroul 6 лет назад
Спасибо за видео! Есть замечание насчет setTimeout: вызов setTimeout(…) не приводит к автоматическому размещению коллбэка в очереди цикла событий. Эта команда запускает таймер. Когда таймер срабатывает, окружение помещает коллбэк в цикл событий, в результате, в ходе какого-то из будущих тиков, этот коллбэк будет взят в работу и выполнен. Разве не так?
@smelukov
@smelukov 6 лет назад
Andrey Saroul все верно. Но я и не говорил о том, что setTimeout взаимодействует с циклом событий. Здесь речь шла про абстрактную очередь, в которой интерпретатор «помнит» обо всех установленных таймерах ;)
@КонстантинИбрагимов-т3в
Просто отпадное видео! Автору огромное спасибо. Как говорится учитель от бога ;)
@ЧынгызДжумадылов-о5я
😁 супер!
@radist126
@radist126 4 года назад
Чьорд возьми! Это лучшее обьяснение, что я видел. Наконец то я понял, как работает эта кухня.
@Sergio-ij7pw
@Sergio-ij7pw 3 года назад
Дай Бог тебе здоровья, добрый человек. Сколько я попыток предпринял чтобы понять промисы. Многие только запутывают переходя сразу к then().
@babyblue6496
@babyblue6496 4 года назад
Действительно, лучшее видео на данную тему из тех, что мне попадались! Лектор умничка, спасибо огромное)
@pavelsokolov4190
@pavelsokolov4190 5 лет назад
Тысячу лайков этому господину! (с каждого)
@АдильжанМухаметов
👍👍👍Все очень доходчиво и четко . Посмотрел на одном дыхании
@teosurch
@teosurch 2 года назад
Цитирую коментарий ниже: "Лектор- талант!)"
@Andrey-qf8uw
@Andrey-qf8uw 5 лет назад
Спасибо! Ты лучший, только после твоего видео все понял!
@АлександрК-т3ы
@АлександрК-т3ы 4 года назад
спасибо. все доходчиво разжованно
@anikinae
@anikinae 3 года назад
Браво лектору!!!
@andriikozubenko
@andriikozubenko 6 лет назад
было бы круто если бы про redux-form так рассказали, автору спасибо
@БогданЮрчук-т8о
@БогданЮрчук-т8о 6 лет назад
Спасибо, хорошее видео. Помогло въехать в тему)
@HelloGoodbye-f6q
@HelloGoodbye-f6q 6 лет назад
помолюсь за тебя:)
@СергейКурганов-о2э
А точно известно, что в V8 используется время начала таймера и количество миллисекунд? По моему проще хранить время окончания таймера и проверять его просрочку.
@smelukov
@smelukov 6 лет назад
Сергей Курганов я упомянул, что это просто схематическое представление, чтобы был понятен принцип работы. Конечно же внутри движка это может быть реализовано по-разному
@artemredia8056
@artemredia8056 6 лет назад
к V8 это вообще никак не относится
@alexxandr6507
@alexxandr6507 6 лет назад
Какой смысл от вебинара, если нельзя задать вопрос по ходу стрима?!!! С тем же успехом можно просто видео посмотреть в любое удобное время! Заходить куда-то там, когда уже мысль потеряешь - для многих не вариант. К тому же, вы хотя бы попытались начать модерировать чат во время вебинара, все желание смотреть отпадает с таким Балаган Лимитед - все благие начинания псу под хвост, не иначе.
@smelukov
@smelukov 6 лет назад
Alex Web согласен, стоит модерировать чат с вопросами.
@anvacula
@anvacula 5 лет назад
Это видео дополнило мне ваше видео - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8cV4ZvHXQL4.html
@johnfry3819
@johnfry3819 5 лет назад
бабель
@singlebw4065
@singlebw4065 4 года назад
Вот сидишь ты учишься, всякие разные видосы посматриваешь и часто программисты какие-то части кода описывают про про сахар. Чёрт возьми это так стрёмно слышать. Что за дебил вообще к программированию САХАР приплёл. Блин столько мусора в JS это капец. Зачем делать 10 миллионов способов получить один и тот же результат. Ну про видео скажу отдельно что мужиг чётко объясняет.
@artyomovanton
@artyomovanton 6 лет назад
Боже... сколько воды... весь смысл можно за 30 минут донести!
@taraswww777
@taraswww777 6 лет назад
это чтобы дошло даже до самых тугих, и поняли зачем всё это надо
@smelukov
@smelukov 6 лет назад
Аудитория слушателей разная и имеет разный уровень подготовки Поэтому необходимо, чтобы материал был максимально понятен людям с разным уровнем знаний Человеку, который всё это уже знает, весь материал можно и за 5 минут рассказать ;)
@artyomovanton
@artyomovanton 6 лет назад
Человеку, который всё это уже знает, этот материал и не нужен ))). Я конечно согласен с Вами, но мне кажется ну уж слишком "размусоливает" одно и тоже. Я думаю, если покажу этот материал своему 4 летнему сыну - он поймет асинхронность JS )))))))))))))
@smelukov
@smelukov 6 лет назад
В том и смысл. Я стараюсь максимально ражевывать материал так, чтобы было понятно максимальному числу слушателей ) Да, в качестве побочного эффекта, иногда это выглядит "слишком размусолено"
@artyomovanton
@artyomovanton 6 лет назад
В любом случае огромное спасибо за качественный контент!
Далее
Асинхронный код в Javascript
39:21
Просмотров 10 тыс.
Провал со стеклянным хлебом…
00:41
TRENDNI BOMBASI💣🔥 LADA
00:28
Просмотров 370 тыс.
ОВР Шоу:  Семейные понты  @ovrshow_tnt
07:21
Просто о promise в JavaScript
12:52
Просмотров 135 тыс.