Просто o async, await. Без циклов и таймеров. JavaScript
ฝัง
- เผยแพร่เมื่อ 25 ก.ย. 2024
- Курс JS 2.0: itgid.info/cou...
Курс HTML для JS разработчиков: itgid.info/cou...
Остальные курсы: itgid.info/
Телеграмм канал: t.me/itgid_info
GIT: github.com/itg...
Изучаем асинхронность с async, await на реальных примерах в JavaScript
4:16 - порядок такой не потому что запрос к серверу дольше, а потому что fetch возвращает промис, а промисы исполняются после основного стека вызова, так как сидят в microtask queue.
топовый коммент. об этом надо было рассказать
те если делать async/await без fetch то порядок будет любой?
Спасибо
@@faizulla5838 функция async всегда возвращает промис
Интересно, а где в данном случае основной стек вызова?
Крайне важный коммент, в топ.
ну наконец-то!!!! хоть где-то реальный кейс с запросом на сервак без этих сеттаймаутов! Спасибо)
Долгих лет здоровой жизни вам!) Всегда радуйте нас вашим понятным контентом!
Огромное спасибо. Благодаря вашему обьяснениям смогла ответить на вопросы на собеседовани и меня взяли на стажировку!
Как дела спустя год?
@@braingriffin946
Видимо, плохо
да как у вас дела?
Посмотрела видос, взяли на работу, за это время никто не оставлял комментарии под видео и она написала первый комментарий. Автор, самому не смешно?
@@avs1978в чем прикол?
Хммм...
- А давайте чтобы у нас код не был последовательным придумаем асинхронные вызовы.
- Ой, а у нас же нарушается последовательность выполнения кода и он становится асинхронным.
- А давайте мы придумаем ожидание выполнения асинхронного кода, чтобы выполнение его было последовательным и ожидаемым.
хмм.. а давай при каждом запросе на сервер, если там задержка, будем ковырять в носу и ждать ответа и не будем придумывать асинхронные вызовы
@@dimape.4180 Нет, давайте делать это, покуда будем ожидать (await) выполнение асинхронных вызовов.
Нет давайте поделаем что-нибудь другое, это же асинхронный вопрос.
@@dimape.4180 В том то и дело, что с await это выглядит как обычный синхронный код. Это не go рутины и не фоновые задания 1С. Кстати почти те же йайтса в 1С, только там сначала реализовали через широковещание - ОбработкаОповещения, а потом через Acync (Асинх) Await (Ждать). И в такой конструкции результат выглядит как обычный синхронный код. Только выполняется раз в 10 медленнее. А знаете почему? Потому что 1С тоже имеет (какое слово то гадкое) web клиент. И проблема в том, что браузер ругается на синхронные вызовы и не даёт их выполнять. То есть средство просмотра (браузер) де-факто устанавливает правила для языков программирования и фреймворков.
Если их придумали значит в них была потребность для опред. ситуаций.
Через какие мучения пришлось пройти, что бы это понять! У вас максимально доступно, большое, человеческое спасибо)
да хватит это легко
Это гениально! Большое спасибо ! Самое понятное объяснение которое видел когда либо!
Было понятно, но всё-равно в уме витали какие-то сомнения. Благодаря такой подаче они полностью развеялись. Спасибо
Кучу видео посмотрела и пришла к итого, что ваши видео самые доступные, а также результативные! Огромное вам спасибо!
Всё понятно, хорошо объясняете, супер!
У вас всегда уроки понятно о сложном. Большое спасибо, было очень полезно. Размял свои мозги!))
Спасибо, очень полезное видео! наконец-то поняла тему.
Вы отличный учитель!Спасибо Вам большое!
Самый лучший канал по JavaScript, постараюсь и платный ваш курс пройти!
Спасибо огромное, посмотрел уже 3 видео и на вашем все встало на свои места
один из лучших каналов по веб-разработке! ВСе понятно и ясно!
Лучшее объяснение асинхронности из всего что есть на русскоязычных ресурсах!
лучшее видео эвер, спасибо большое!!!
Спасибо большое, это четвертое видео которое я смотрю на эту тему и только сейчас стало понятно
Благодарю, очень хорошо объяснил👍
Большое спасибо, Сань, твоё видео помогло мне выйти из ступора и решить мою проблему)
Спасибо! Стало понятнее!
Спасибо , очень полезно!! понятно все очень!! теперь не много перепишу свой телеграмм-бот.
Это очень грамотно разжевано. После 5 -6 видосов на эту тему, этот самый лаконичный и понятный.
Спасибо за такое простое и понятное объяснение
Лучшее описание, что мне встретилось.
это лучшее объяснение async await что может быть вообще!!!!!!
Спасибо за объяснение, единственный кто легко донес смысл async await)))
Действительно полезное видео, объясняющее работу асинхронных функций
Лучшее объяснение асинхронности, огромное вам спасибо!
Спасибо, очень доступно.
Шикарно, как раз на главе по асинхронности в Eloquent JavaScript и понимаю, что это видео хорошенько мне поможет) Спасибо
Толково! Спасибо за пример, очень наглядно и понятно.
Спасибо огромное, у Вас очень хороший подход и объяснение технологии. Успехов!
Большое спасибо за видео! очень понятное объяснение!
Наконец то, классно обьяснил ! , уникально, супер, понятно !
Александр Лущенко лучший блогер, коучер и программист. Спасибо огромное!!!!!!!!!!!!!!
Здорово, все по делу без воды, спасибо
Правильно я понял, если например потом с данными нужно делать определенную логику а не просто текст, например в функции f3 то мы там просто ее и пишем ?
Отличное объяснение, спасибо за старания!
не ожидал вас тут увидеть:)
@@Lunar66 😎😎
Чертов Гений❤❤❤🎉
Очень хорошее обьяснение для новичков! доступно! благодарю!
Огромное спасибо!!! Всё доходчиво на 150%, закрыли мои многие вопросы
Спасибо что делаете упор на простоту обьяснения
Спасибо, только после этого видео наконец понял что это такое!)
Спасибо)) очень помог ваш видос))
спасибо громадное Вы один кто так доходчиво рассказал
Очень доступно объяснили такую сложную тему, спасибо
Очень благодарен. Лущенко the best ))))
и человек и видео прекрасны спасибо большое
Спасибо) Очень подробно объяснили)
Александр, всегда с удовольствием смотрю ваши видео, хоть вроде и не новичок ). Не примите за занудство, но попробуйте писать в vscod-e не console.log(), а просто log и клавиша Tab. И перемещать строки или выделенные фрагменты кода, когда вы меняли, например местами функции f1() и f2(), можно Ctrl + Shift + стрелки вверх/вниз )), а не копипастом. С уважением. Спасибо за ваш труд, жму руку. )
Про log + tab тоже не знал. Только log + enter. Спасибо)
@@untiweuntiwe7415 я кстати, далеко не сразу в работе с вс-кодом узнал про передвижение строк и очень был обрадован этой фичей )
Круто. Не знал за такую тему! Спасибо
Это определено одно из лучших объяснений, а самое главное без таймаутов и интервалов со стрелочной функцией, который только запутают новичка. Спасибо, подписываюсь!
Такие подачи для того что бы показать какой он крутой программист типа владилена
@@digitalturkistan1857 нет. Данный автор никак не хвастается и не "намекает" на то, какой он классный программист
Суть понятна, спасибо. Функция go имеет лишний async, ну это мелочи
Благодарю
Очень хорошее видео! Спасибо за труд!
дуже доступно та легко
дякую)
Спасибо! Наконец то все понятно стало!
Спасибо Вам
Ви найкращий вчитель IT
Очень доступная подача. Спасибо!
Спасибо, помог разобрасять с промисами и эсин эвей.
Все просто и понятно. Спасибо
Наконец-то, без таймеров, на нормальном реальном примере, ободряю.
Офигенно объяснили!!! Спасибо!
Спасибо за видос ждём по больше ещё
Бомба 💣!
мегачеткий видосик - впрочем как обычно
Good work. Awesome explanation!👍
спасибо, теперь понял
Класс!
отлично!
как всегда супер!
Дякую, як завжди просто і доступно 👍
Ну это и лекция. Спасибо больщое
Все равно до конца не понял. Но это лучшее объяснение что я видел. Спасибо!
С меня подписка! Вот так нужно объяснять чайникам))
Респект!
Александр не лучше ли для эмуляции сервера использовать jsonplaceholder ? мне кажется будет нагляднее и интереснее
Ради этого урока я написал свой сервер! 😎
шикарно
Спасибо, Александр !
Вы один из тех немногих кто расказывает о сложном простыми словами и способствует развитию хода мысле в ученике.
По моему разумению именно таким и должен быть настоящий УЧИТЕЛЬ.
-------------------------
Посдскажите пожалуйста, какие инструменты нужно задействовать в JS чтобы добиться четкого выполнениея таймингов ?
Мне нужно чтобы функции вызывались с четкой переодичностью в 1сек и 500мс и весьма желайтельно чтобы этот таймер имел общее основание с Date(), поскольку именно оттуда я беру текущее время.
@@enjoymtx , не получается его отследить потому что тайминги Date() и Setinterval просто не совпадают.
Может в системе Можна как то выйти на единый источник тактирования ? Здесь нужно понимать тонкости работы движка js.
@@enjoymtx , к примеру. Через setinterval я вызываю ф-цию каждую секунду, в начале этой ф-ции я проверяю равны ли мс обьекта Data() нулю. И вот здесь и трабла, они никогда не равны нулю. Как тогда я спрашиваю выдержать точные интервалы ?
это делается через рекурсивный setTimeout
Спасибо
Спасибо большое! 👍
спасибо)
крутое видео!
Гениальный язык. И без async функция асинхронна и с async асинхронна. Главное, надо было все сделать работающим асинхронно, а потом выдумывать кастыли как все это синхронизировать. Просто гениально.
Единственное, что понял, что асинхронность нужна, чтобы функции работали синхронно. Потому что без асинхронности они работают...асинхронно.
Наконец то без циклов и таймаутов
спасибо, стало гораздо понятнее)))
Лучший айтиевангелист
Не. Максимум айтиатеист. Я за то что айти не является чем-то недостижимым.
Все супер, но Все же нужно пересмотреть, очень интерестно работа над ошибками
Александр,как всегда респект. Наконец-то, кто-то понятно и на пальцах объяснил асинк-эвеит.
А с помощью промисов, такого же результата можно добиться, посмотрев вашу лекцию про промисы?
Хороший пример, спасибо. Еще можно разобрать на вашем примере обработку ошибок при асинхронных запросах. На простых примерах, как правило это упускают, а на продакшен без этого никак.
просто в async функции используешь try-catch и все
Заебись , по человечески
Доступное и понятное объяснение, спасибо. Интересно посмотреть код сервера. Может есть пример где-нибудь на github?
Спасибо!)
Не совсем пойму разницу с Промисами(
фетч вернет промис, и зеном обработаем по цепочке и по сути это тоже самое?
Класс, спасибо)
отличный пример
Фетч возвращает промис, который выполнится после синхронных операций