Урок 8. JavaScript. Как работает Async, Await. Работа с сервером c fetch

  Рет қаралды 291,351

Владилен Минин

Владилен Минин

5 жыл бұрын

Эксклюзивный контент на моем Boosty: boosty.to/vladilen
Telegram: t.me/js_by_vladilen
Instagram: / vladilen.minin
Roadmap по каналу:
vladilen.notion.site/Roadmap-...
Урок 8. JavaScript. Как работает Async, Await. Работа с сервером c fetch
В ролике я расскажу о том, как работают операторы async await в Javascript на примере работы с сервером с методом fetch
Вы узнаете как применять async await и как обрабатывать ошибки, если они есть
Сложный JavaScript простым языком:
• Урок 1. JavaScript. Чт...

Пікірлер: 276
@VladilenMinin
@VladilenMinin 6 ай бұрын
Эксклюзивный контент на моем Boosty: boosty.to/vladilen
@Vlad-em1bx
@Vlad-em1bx 4 жыл бұрын
Это лучший материал по JS на русскоязычном youtube. Отдельно хотелось бы поблагодарить Вас Владилен за курс по Vue. Он превосходен. Он помог мне довольно быстро вникнуть во Vue. Посоветовал его одному коллеге верстальщику, он также остался им очень доволен. Спасибо Вам огромное! :)))
@tyortyo
@tyortyo 4 жыл бұрын
Офигенное объяснение. Здорово, что приведено сравнение с промисами, тогда все понятно становится! Супер
@mgm_smile
@mgm_smile 5 жыл бұрын
Как всегда все четко и по теме. Владилен ты делаешь огромный вклад в развитие ру комьюнити, спасибо тебе =)
@VladilenMinin
@VladilenMinin 5 жыл бұрын
Благодарю за отзыв)
@mikurrey416
@mikurrey416 4 жыл бұрын
Большущее спасибо :) Без таких знаний асинхронность не хило выносит мозг)))
@qazxswedc389
@qazxswedc389 4 жыл бұрын
огромное спасибо за видео!!! такого понятного и простого объяснения async/await я еще не встречал. очень классные и понятные видео
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Благодарю за отзыв, рад такому результату)
@Wraith2401
@Wraith2401 5 жыл бұрын
на мой взгляд самое доступное объяснение работы async/await в рунете. лайк/подписка
@nivaech
@nivaech 4 жыл бұрын
Владилен, спасибо. Благодаря твоему каналу время карантина вследствие чертового коронавируса проходит как нельзя плодотворно.
@unknownWakeborder
@unknownWakeborder 3 жыл бұрын
Я в свое время так намучался с получение данных с апи.... а тут было все так доступно. Очень полезно, спасибо тебе за контент!
@user-tg9wd2hm1g
@user-tg9wd2hm1g 4 жыл бұрын
Благодарю Вас Владилен! С Вами очень интересно изучать JavaScript!)
@awenn2015
@awenn2015 3 жыл бұрын
Согласен, у других смотрел так и не понял что такое promise, async and await, методы массивов, которые новые map и тд, а тут все сразу стало понятно, и операторы rest и spread туда же, столько полезных вещей которыми я раньше не пользовался, жаль конечно))
@svdl3000
@svdl3000 4 жыл бұрын
Отличное видео - аккуратное объяснение важных истин простым языком.
@uracan7872
@uracan7872 5 жыл бұрын
Спасибо за видео! Proxy теперь нужен)
@Abdul-hy4cy
@Abdul-hy4cy 2 жыл бұрын
Как ты круто объясняешь! Последовательно, по уровню сложности.
@user-wj9jo6wc6c
@user-wj9jo6wc6c 2 жыл бұрын
Блин, ты крут, человек! Учился по твоему ангуляр курсу, теперь вот доучиваю в ютубе. Супер!
@nikdanik
@nikdanik 5 жыл бұрын
Про веб воркеры было бы супер! Классный видос, лайк
@realfootball338
@realfootball338 4 жыл бұрын
про sharedArrayBuffer семафоры мютексы и атомарные операции.
@awenn2015
@awenn2015 3 жыл бұрын
Твоя мечта сбылась
@bekzhan356
@bekzhan356 2 жыл бұрын
ещё вебсокеты каеф
@radikovichkz2470
@radikovichkz2470 3 жыл бұрын
Владилен вы не поверите: но во время создания промиса вместо setTimeout(()=>r(),ms) можно просто записать setTimeout(r,ms); r - это есть resolve, и мы передаём ссылку на функцию в качестве колбека
@dushnilas
@dushnilas 3 жыл бұрын
Спасибо тебе Владилен за твои видосы.
@dartoranges
@dartoranges 3 жыл бұрын
Владилен ты не представляешь как ты мне помог этим уроком!!!!
@parlaitaliano
@parlaitaliano 11 ай бұрын
Я что-то поняла, неужели, офигеть! но боюсь что окажется, что рано радуюсь, что все-таки не поняла, потому что я не могу поверить, что я наконец это поняла. Спасибо Вам
@lumeaceaiuluisrl6343
@lumeaceaiuluisrl6343 3 жыл бұрын
Владилен, спасибо за урок!
@Vlad-jp3co
@Vlad-jp3co Жыл бұрын
Твои уроки раскрывают суть каждой концепции. Ты описываешь проблему и механизм в языке, который эту проблему решает. Информация так усваивается намного лучше. В других уроках описывают некоторые факты о части языка и не говорят как это использовать и новичок не понимает как он это может применить. Спасибо большое за труд
@s.konstantin
@s.konstantin 5 жыл бұрын
Спасибо! Как всегда все понятно. Красавчик!
@user-kg6fz5tz2b
@user-kg6fz5tz2b 5 жыл бұрын
Спасибо, Добрый Человек!!!
@PizekattoX
@PizekattoX 4 жыл бұрын
Отлично обяснил, понятно и без лишних слов
@damir-n1
@damir-n1 2 жыл бұрын
Спасибо Вам большое, Владилен. Очень доступно.
@enotus_chang
@enotus_chang Жыл бұрын
Пожалуй, самое понятное объяснение. Спасибо.
@yakut54
@yakut54 4 жыл бұрын
Влад, ты красавчик! Спасибо тебе за науку! Вкладываешь знания в наши бестолковые головы.
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Не думаю, что они бестолковые, иначе как бы они нашли мой канал:) Шучу конечно, но за отзыв спасибо
@mumin_f
@mumin_f 4 жыл бұрын
Спасибо! Переписывал store для авторизации из урока по Vue CRM, там была готовая библиотека firebase, а мне надо было через API реализовывать. Это видео очень выручило!
@user-lj8xm1ye7q
@user-lj8xm1ye7q 3 жыл бұрын
Конструктивно и максимально доходчиво.
@void6237
@void6237 Жыл бұрын
"Фетчить некоторые туду", буду теперь это говорить когда меня спрашивают чем я занимаюсь
@user-uo8jd7ys2x
@user-uo8jd7ys2x Жыл бұрын
Очень подробно разжевал!спасибо огромное за труд
@user-ml8hn5kg9e
@user-ml8hn5kg9e 2 жыл бұрын
Спасибо за урок очень мощьный курс по JavaScript
@user-un2wj8ee9s
@user-un2wj8ee9s 4 жыл бұрын
Очень круто обьясняешь. Коротко и по делу!)) Pozdrawiam z Polski!!!
@user-yx4ov2xx8s
@user-yx4ov2xx8s 4 жыл бұрын
Супер видео! Спасибо вам! Плейлист тоже классный!
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Благодарю за отзыв)
@nicksimmons4722
@nicksimmons4722 3 жыл бұрын
в прошлом году доходило долго, а в этом намного легче и уже сразу понятно)) очень информативные и понятные уроки) спасибо за труды
@RewCSharp
@RewCSharp 6 ай бұрын
Спасибо за урок!
@user-om5co3nd8u
@user-om5co3nd8u 2 жыл бұрын
Люблю такие видосы. Где не льют 50 минут теорию со слайдами на своем птичьем наречии, а за 14 минут на практике показывают как, да чё. Спасибо автору!
@user-gu5ir3zs4v
@user-gu5ir3zs4v 5 жыл бұрын
Это чертовски полезно
@temirkhanamanbaev42
@temirkhanamanbaev42 4 жыл бұрын
Классно объяснил, браво! Спасибо!
@phonty29
@phonty29 2 жыл бұрын
Your teaching is very good. Thank you
@Grigoren_com
@Grigoren_com Жыл бұрын
спасибо за ролик! очень полезная информация
@MrFeedme86
@MrFeedme86 4 жыл бұрын
Владилен топ! Если у тебя будет своя школа, я пойду туда учиться :D
@azalinka3721
@azalinka3721 3 жыл бұрын
спасибо за такое прекрасное обьяснение!!!
@gorbulevsv
@gorbulevsv Жыл бұрын
Спасибо, все очень доступно!!!
@ammoney159
@ammoney159 2 жыл бұрын
Спасибо большое за видосы красавчик!
@sexy.big.monkey
@sexy.big.monkey 5 жыл бұрын
Опа новый видосик! 😋
@Fxgleb
@Fxgleb 4 жыл бұрын
Посмотрев этот ролик я прям осознал что такое асинхронность в жс и в чем разница между then и await (наконец таки)
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Ура!)
@admusmanov3009
@admusmanov3009 Жыл бұрын
Обожаю тебя!!!
@bodomzor
@bodomzor 5 жыл бұрын
Красава Вледилен!
@nikishiro8278
@nikishiro8278 4 жыл бұрын
Спасибо. Про Webpack круто было бы послушать :)
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Думаю сделаю быстрый курс по нему)
@iznu3
@iznu3 3 жыл бұрын
Спасибо за видео!
@user-dc7ot2lm1m
@user-dc7ot2lm1m 4 жыл бұрын
Спасибо, но это уже тяжеловато было понять) Усугубилось всё стрелочными функциями
@Pr0xytube
@Pr0xytube 5 жыл бұрын
Спасибо, урок действительно полезный. Впрочем, как всегда)
@NextgenSocialReptile
@NextgenSocialReptile 5 жыл бұрын
Благодарю)
@onlynowmotivation
@onlynowmotivation 2 жыл бұрын
Спасибо большое! От души!!!
@27sosite73
@27sosite73 2 жыл бұрын
ska, ты топ, Владилен спасиобо
@imbaquad
@imbaquad 5 жыл бұрын
Круто ! Спасибо)!
@vladislavivanov4124
@vladislavivanov4124 4 жыл бұрын
Спасибо! Лучший)
@user-dk4ji5eb6g
@user-dk4ji5eb6g 4 жыл бұрын
Спасибо большое за видео) Очень доступно и понятно!!! Владилен, вы не могли бы снять видео про pwa во vue-cli3? Или оно уже есть, а я не нашла на канале?
@web2905
@web2905 3 жыл бұрын
Спасибо за видео :)
@sapperus
@sapperus 4 жыл бұрын
Круто, спасибо!
@alexgrinberg1888
@alexgrinberg1888 3 жыл бұрын
Владилен! Спасибо за ваши уроки. Я часто смотрю ваши уроки на iPhone. Нельзя ли поменять черный бэкграунд на белый, чтобы лучше был виден код? Спасибо!
@independent3253
@independent3253 Жыл бұрын
Круто 👍
@yuramaster4354
@yuramaster4354 2 жыл бұрын
thank you again )
@user-gu5ir3zs4v
@user-gu5ir3zs4v 5 жыл бұрын
Теперь уж точно прям очень нужен прокси
@user-od6hi8we5p
@user-od6hi8we5p Жыл бұрын
Все-таки Promise и async/await одна из самых сложных тем в JS. Но после таких уроков все становится сразу понятно
@charliebrown5554
@charliebrown5554 Жыл бұрын
100%
@kaelnlarien7623
@kaelnlarien7623 2 ай бұрын
Самое главное, что смотря на async await может показаться, что мы только ждём код и всё. НО, как и then, await не блокирует код, а просто откладывает выполнение действующей функции (или call stack если смотреть глобальнее) и продолжит выполнять код дальше Такой код выведет 3 1 4 2. Если уже поставить await верхнего уровня перед вызовом функции, то уже будет 3 1 2 4, так как мы уже дожидаемся этой функции и по сути смысла в асинхронности тогда нет. Код внутри промиса выполняется синхронно, поэтому туда реально нужно ложить то, чего вы хотите подождать типа запроса или того же setTimeout ```JavaScript async function f() { console.log("1") let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("готово!"), 1000) }); let result = await promise; // будет ждать, пока промис не выполнится (*) console.log("2") alert(result); // "готово!" } console.log("3") f(); console.log("4") ```
@artemijeka
@artemijeka 2 жыл бұрын
Спасибо!
@null-lu8it
@null-lu8it Жыл бұрын
Любишь ты все темы усложнять
@sekirogenshiro2210
@sekirogenshiro2210 4 жыл бұрын
хороший урок
@jimmayhem990
@jimmayhem990 6 ай бұрын
Спасибо большое за отличное объяснение! Не совсем понял момент с .then(() => { return fetch(url) } .then(response => response.json()) fetch() возвращает Promise, then() оборачивает все что в return в новый Promise. Получается, что результат then() - Promise? Как тогда последующий then() вызывает у этого объекта json() ?
@user-qw9uo4wo5p
@user-qw9uo4wo5p 3 жыл бұрын
Благодарю!!
@yasenclassen
@yasenclassen 3 жыл бұрын
10:15 зачем писать await repsonse.json() если мы уже ждем fetch который запишет результат в переменную response после того как отработает, по идее await для repsonse.json() уже не нужен, или я не прав? @Владилен Минин
@dreawmy2912
@dreawmy2912 2 жыл бұрын
без .json() ты не получишь тело ответа
@AbraKadabra000
@AbraKadabra000 4 жыл бұрын
красиво шпарит. на двойной скорости послушал. всо чотко
@rvvvr
@rvvvr 3 жыл бұрын
спасибо
@ssurrokk
@ssurrokk 4 жыл бұрын
Спасибо
@StalkerRaftik
@StalkerRaftik 2 жыл бұрын
Усложнил все до невозможности. Не знаю насчёт остального, но это видео было максимально сложным для новичка
@user-su6gu3me1r
@user-su6gu3me1r 2 жыл бұрын
я чувствую себя максимально тупым последние несколько уроков
@talas12341
@talas12341 4 жыл бұрын
всегда так - смотришь, всё понятно, начинаешь делать, ну нихуя не понятно‼ пока собственными ручками не сделаешь, хрен поймешь‼
@user-xd5td7px9t
@user-xd5td7px9t 4 жыл бұрын
Это всегда так ! )
@konstantinsoluyanov8505
@konstantinsoluyanov8505 4 жыл бұрын
сначала смотришь, потом делаешь, потом еще раз смотришь, благо youtube иногда подкидывает уже просмотренные ролики
@Lynatik001
@Lynatik001 3 жыл бұрын
я помню когда делал все через then только, понимал что это крутая штука что позволяет дождатся асинхронной функции, словить результат и далее его обрабатывать. ну как асинк и авейт. про промисы вобще не шарил думал промис = асинхронному методу. типа так называют в яваскрипте просто так ХД)
@yaroslavzef7267
@yaroslavzef7267 3 жыл бұрын
И это он еще не самый понятливый объяснятель)
@ricojohn8249
@ricojohn8249 2 жыл бұрын
@@yaroslavzef7267 а кто самый понятливый?
@Briz231
@Briz231 2 жыл бұрын
Малюсенький вопрос: я правильно понимаю, что работа всей страницы при наличии такого кода останавливается до того момента, пока не выполнится "виртуальный промис" в виде таймера delay? Или это просто отдельный поток где js выполняет для конкретной функции свой код и затем возвращает его? Ну, то есть, если мы присвоим переменной эту функцию, к ней можно будет обратиться только через 2 секунды, и всё это время скрипт будет недоступен?
@kuzub4ik
@kuzub4ik 4 жыл бұрын
а как это можно применить в цикле? К примеру при прохождении массива циклом, если данные подходят по условиям, нужно выполнить еще две функции которые делают fetch запросы и нужно чтобы была асинхронность, чтобы сперва выполнилась getFirstData() потом getSecondData() и цикл корректно отрабатывал
@kookaburru
@kookaburru 4 жыл бұрын
async/await это синтаксический сахар на генератор/промис, где генератор используется для превращения асинхронного кода в синхронный, а промис для выполнения асинхронного кода. То есть тут суть в генераторе, а промис деталь реализации генератора. Промис можно заменить на простой обратный вызов (callback).
@rigoremplasticsinnovates5143
@rigoremplasticsinnovates5143 2 жыл бұрын
Добрый день, подскажите как дальше работать с data ? Или только внутри промиса и больше никак не вывести data в глобальную зону видимости?
@spiteman
@spiteman 3 жыл бұрын
попробовал заменить в своем микропроекте .then на async/await и получилось даже еще более громоздко, может чуть читается легче, так и мне никто не мешает .then переносить на новую строку.
@alexandrskuratovich1394
@alexandrskuratovich1394 2 жыл бұрын
А почему стоит await на response.json() , это ведь уже синхронная операция? И можно ли делать return в async методах?
@lidijajezova2025
@lidijajezova2025 Жыл бұрын
Метод json() возвращает промис.
@user-pe8kt3ze1i
@user-pe8kt3ze1i Жыл бұрын
Подскажите, а зачем второй раз прописывать await? Там же вроде как уже синхронно можно response в json перевести
@Nikita-hr6ss
@Nikita-hr6ss 4 жыл бұрын
А как быть когда надо делать fetch запросы в цикле? Условно в коде который описал ниже, там где console.log хочу ещё помимо синхронно выполнить fetch запрос. Или вообще можно как-то более правильно чисто async await-ами всё переписать? let count = 0; function printer() { return new Promise(resolve => { setTimeout(()=>{ resolve(console.log('+2 sec...')) }, 2000) }); } (async _ => { console.log('Start') while (count
@DanReksar
@DanReksar 5 жыл бұрын
Спасибо) т.е. предпочтительнее пользоваться async / await, чем промисами напрямую. Или есть ситуации, когда async / await не получится использовать?
@VladilenMinin
@VladilenMinin 5 жыл бұрын
Я бы почти всегда их использовал, редко когда нужны именно промисы Но стоит помнить, что еще не все бразуеры нативно поддерживают подобный синтаксис и лучше пропускать его через babel
@vasil-vasil
@vasil-vasil 2 жыл бұрын
Получаю масив ссылок на изображения. Нужно их слепить в одно. Нужно дождаться загрузку каждого склеить (делаю это через canvas). Обьект изображения имеет евент onload. Как мне сделать. Как наложить изображения попорядку когда .onload у промисе не работает!?
@dossh429
@dossh429 4 жыл бұрын
Доброго времени суток Владилен! Если у вас будет время, подскажите пожалуйста что такое нативная функция? Также нативность ?
@VladilenMinin
@VladilenMinin 4 жыл бұрын
Встроенная в сам язык
@bearvorkuta4213
@bearvorkuta4213 3 жыл бұрын
То есть кроме промиса, я не могу получить какие то данные через ретурн при вызове async функции?
@user-fn6og3sq3n
@user-fn6og3sq3n 4 жыл бұрын
А будет ролик про работу с DOM?
@greenday5198
@greenday5198 3 жыл бұрын
а про axios есть что-нибудь у тебя? не могу найти
@jobbers5451
@jobbers5451 4 жыл бұрын
Спасибо. А подскажите как сделать, что бы асинхронная функция ретернила полученные данные, а не возвращала просим.
@Stamp113
@Stamp113 4 жыл бұрын
Функция с меткой async всегда будет возвращать промис.
@Stamp113
@Stamp113 4 жыл бұрын
Вы можете, так сказать, распаковывать возвращаемый промис в другой функции через await. Проблема в том, что новая функция тоже должна быть async.
@evgeniyn1542
@evgeniyn1542 5 жыл бұрын
Отличное видео, спасибо. Владилен, когда будут ваши авторские курсы на Udemy? :)
@NextgenSocialReptile
@NextgenSocialReptile 5 жыл бұрын
Привет, в июле будет первый курс)
@evgeniyn1542
@evgeniyn1542 5 жыл бұрын
@@NextgenSocialReptile Отлично! )
@user-cr2yl7ot8p
@user-cr2yl7ot8p 3 жыл бұрын
у меня одного ошибка "VM586:10 GET jsonplaceholder.typicode.com/todos net::ERR_FAILED" ?
@hmelii
@hmelii 4 жыл бұрын
Если указать недействительную ссылку, то в catch выводится пустой объект. Как понять, какая ошибка пришла от сервера?
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 жыл бұрын
Если ссылка не действительна, то и сервера никакого нет. Просто некому отвечать на запрос. Смотрите инфу в заголовках.
@sergion1323
@sergion1323 2 жыл бұрын
Почему в коде нет точек с запятой в конце строк?
@FillPower
@FillPower 5 жыл бұрын
Set & Map Weak Map, примеры использования следующее пожалуйста)
@VladilenMinin
@VladilenMinin 5 жыл бұрын
Быть может отдельный плейлист по ES6?
@FillPower
@FillPower 5 жыл бұрын
Владилен Минин, было круто, если сделали бы
@user-to8bv5yr5p
@user-to8bv5yr5p 4 жыл бұрын
Видосы огонь, Владилен, спасибо за работу)) Но не въехал зачем нужна задержка в 2сек.
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 жыл бұрын
Для наглядности. В реальных проектах никакие задержки не нужны.
@user-mx6ts8xi4m
@user-mx6ts8xi4m 3 жыл бұрын
спас меня
@user-in3jd6cm2t
@user-in3jd6cm2t 2 жыл бұрын
🤯👍
Урок 9. JavaScript. Proxy. Объекты, функции, классы. Часть 1
24:42
Урок 5. JavaScript. Promise. Что это, как работает (+ пример)
23:18
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 171 МЛН
New Gadgets! Bycycle 4.0 🚲 #shorts
00:14
BongBee Family
Рет қаралды 16 МЛН
IS THIS REAL FOOD OR NOT?🤔 PIKACHU AND SONIC CONFUSE THE CAT! 😺🍫
00:41
Climbing to 18M Subscribers 🎉
00:32
Matt Larose
Рет қаралды 17 МЛН
Fetch запрос. Async функции, await. AJAX | JavaScript 2.0
30:50
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 19 М.
Просто o async, await. Без циклов и таймеров. JavaScript
15:55
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 95 М.
Javascript Promises vs Async Await EXPLAINED (in 5 minutes)
5:50
Roberts Dev Talk
Рет қаралды 544 М.
Что такое промисы в JavaScript. Фундаментальный JavaScript
24:51
Михаил Непомнящий
Рет қаралды 41 М.
TypeScript - Быстрый Курс за 70 минут
1:08:00
Владилен Минин
Рет қаралды 622 М.
Что такое Framework простыми словами?
9:51
Sergey Nemchinskiy
Рет қаралды 181 М.
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 171 МЛН