Александр, еще раз выражаю свою благодарность! С душой объясняете. Видно, что не начитываете, а с собственным пониманием материала, и с желанием добиться понимания даже от самых непонятливых! Спасибо! Единственное, столкнулся с тем, что формулировка await не работала как у вас вне async функции. Пришлось оборачивать ее в анонимную функцию! А у вас все работает, даже сам javaScript вас слушает!!!)))
Сначала не хотел смотреть, т.к. показалось, что там рассказывать на 39 минут, но в итоге это оказалось самым интересным и наглядным видео по теме асинхронности. Моя благодарность автору! Ближе к концу уже сложнее понять и уследить логику. Но очень приятно смотреть и вникать)
Александр, спасибо за ваш урок, очень помогаете в возникающих вопросах! Подробно рассказано вся та информация, которую полой сложно собрать в кучу! Продолжайте!
Александр большое спасибо за суперское видео и замечательный разбор! Очень жаль, что не ваши видео с преподаванием записаны в Скиллбокс в курсе по js...
На этом канале каждая секунда "на вес золота", т.к. он "пропитан" очень ценой информацией и желанием автора донести эту информацию в доступной и понятной форме таким "чайникам" как я! :-))
очень полезное видео. Где то про ассинхроность слышу мельком и вспомнил что у вас есть. Теперь более лучше узнал об этом из ваших объяснений. Спасибо вам!!!
Класс!! Повторила все за вами, но комменты вывести не смогла, надо еще раз пересмотреть все. Надеюсь не забросите канал, после этого видео взаимодействие с сервером стало понятнее, для меня эта прямо сложная тема
Александр, спасибо за это видео. Наконец-то у меня в голове все, что касается синхронности и асинхронности, разложилось по полочкам. Был бы рад, если бы Вы записали видео по промисам. Учусь на продвинутом курсе JS в Skillbox и эта тема воспринимается с трудом.
Спасибо за ваш комментарий :) Да, очень вас понимаю :) Тема промисов супер запутанная сама по себе ) Думаю о том, как ее рассказать на понятном примере :)
В очередной раз благодарю за такое наглядное и доступное объяснение, смотрю ваши видео даже просто так по уже изученным темам чтобы лучше понять все и закрепить
Колокольчик давно нажат) Думал что просмотрел все видео у вас на канале, но оказывается нет, нашёл это видео и смотрю его перед сном, спасибо Александр.
Все круто !!! Спасибо !!! Ждем продолжение, а то что то пагинацию не удалось реализовать , и комментарии добавляются все скопом, НУЖНА ВАША ПОСКАЗКА В ВИДЕ ВИДЕО ПРОДОЛЖЕНИЯ !!!!!!!!!!!!!))))
Спасибо вам за отлики. Пагинацию я хочу показать в отдельном видео. Это интересная тема. Она не относится напрямую к асинхронности. Но там есть интересные решения. Если вам нужен пример пагинации, вы можете написать мне в телеграме. Канал в ссылке под видео :)
@@user-en7qg2dq3m приятно читать, и осознавать, что контент, который я делаю вам нравится :) Думаю, уже скоро будут первые ролики. Хочется сделать все максимально хорошо :) И хочется уже скорее поделиться результатом.
Александр, спасибо! Это очень классное видео - интересно, доступно и всё очень понятно. А практика вообще выше всяких похвал! Только моя 7-я винда не поддерживает type="module", но я нашла как обойти эту ошибку :)
Очень классный пример работы с промисами, с данными с сервера и как их отображать в HTML. Было бы здорово увидеть разбор с получением и отображением с сервера данных, которые запрашиваем через input. К примеру, поиск фильмов и отображение их по запросу пользователя. Спасибо за качественный материал
Мне кажется, говорить о параллельном выполнении не правильно, т.к. по сути эти функции не выполняются одновременно (нет двух "дорог", нет многопоточности), просто асинхронная функция ждет какой-то количество времени, а потом начинает выполняться. Т.е. еще раз - код в ней не выполняется одновременно с какой-то другой функцией, просто она ждет пока протикает таймер, а другие функции в это время выполняются, по истечению времени она становится в очередь и выполняется. Поправьте, если не прав, но я это, как-то, так запомнил
Конечно вы правы. Есть цикл работы, в который входят микро задачи и макро задачи. Пример: одноядерные процессора, которые выполняют задачи поочереди. Для пользователя, который запускает несколько приложений этот процесс выглядет так, как будто бы процессор обрабатывает все сразу и одновременно. Но на самом деле задачи каждой программы выполняются поочереди и с определенным приоритетом. Программа, окно которой сейчас открыто (активно) имеет приоритет. Так и JS имеет цикл выполнения, но для программиста это выглядет, как "параллельный" процесс. Дело в том, что в такой формулировке проще разобраться в работе await и асинхронности (само понятие асинхронность говорит о параллельном выполнении), чем вводить формулировку цикла learn.javascript.ru/event-loop. Но думаю, я еще сделать о этой теме отдельный ролик. У вас очень хорошее замечание. Надеюсь интересующиеся зрители прочитают эту ветку комментариев. Спасибо вам :)
Спасибо вам за комментарий. Да, конечно, я планирую развивать тему продвинутого JS ) Дальше, больше роликов. Делитесь в комментариях, на какую тему хотели бы посмотреть разбор.
Отличные объяснения! Все по полкам. Вот только почему-то у меня выдается ошибка, связанная с политикой CORS. Видимо у вас волшебный live Server! Я же пытался в браузере просматривать результаты кода по вашему уроку. Не выходит.
Спасибо за комментарий. Я рад, что понравилось. Мне кажется стал получаться лучше)) Да, тема модулей обязательно будет в другом видео. Ее нужно подробно раскрыть с интересным примером :) Сейчас нахожусь в Москве ) Не всегда получается быстро отвечать :(
Спасибо за шикарное видео) как альтернатива, new URLSearchParams(window.location.search) может быть new URL(window.location.href) и тогда код чуть изменится const URLData = new URL(window.location.href); const postId = URLData.searchParams.get("post_id"); const data = await getPost(postId) Принцип в общем смысле тот же) В любом случае Ваш контент довольно уникальный в практическом применении. Подход "от теории к приближенной к реальности практике" как по мне это именно то, что нужно новичкам, которые должны понимать для чего нужен тот или иной инструмент. И именно такой материал усваивается лучше)
Спасибо вам за такое комментарий :) Да, конечно можно использовать приведенный вами пример :) Спасибо за него и за такой отзыв. Постарался на визуальном примере показать то, что самому было не просто понять. Вообще тема асинхронности не простая, особенно, когда идет речь о большом количестве связей и взаимодействий. Спасибо за ваше сообщение :)
@@alex_dudukalo А вам за урок спасибо. Было бы здорово если бы вы записали уроки по фреймворкам типа React или vue) Сам пока думаю как раз над изучением данного контента,:)
Прошу прощения. Старайтесь пожалуйста записать видео без эхо через колонки нереально слушать. Не воспринимайте как негатив, мне ваш канал нравится и хочу смотреть ваши видео.
Спасибо за ваше замечание. Я с вами полностью согласен. В момент записи этого видео я записывал со встроенного микрофона, со звуком есть проблемы. Сейчас я использую хороший микрофон, но еще учусь работать со звуком. Надеюсь, скоро смогу это доработать до лучшего звучания. Совсем не обижаюсь. Вы сделали очень корректное замечание :) Спасибо.
Первая часть про асинхронные функции очень понятная, попробовала, как работает и все получается. А вот со второй частью у меня возникли сложности. Запрос fetch выполняется, если его набрать в консоли и показывает полученные данные во вкладке "сеть". Но если сделать файлы, как у вас в уроке, но на первую же строчку с fetch мне в консоли выдало: "Access to script at '(путь к файлу)' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.". В чем может быть проблема?
Прошу прощения за долгий ответ :) Да, вижу уже комментировать не актуально :) Забыл сказать об этом в комментариях. Желательно сайт запускать в режиме сервера)
Спасибо за комментарий :) да, если вы попытаетесь использовать await не внутри асинхронной функции а сразу в глобальной области видимости, ты вы получите ошибку. Придется сделать файл модулем :) или поместить код в асинхронную функцию
Синхронно(по очереди) это весь код последовательно(новый не выполняется пока не закончится предыдущий), асинхронно (без очереди) код выполняется во время вызова не ждет пока основной код выполнится. Вот и всё, не благодарите.😊
асинхронный код НЕ выполняется "параллельно", он выполняется в порядке очереди, просто его из этой очереди временно убирают и ставят обратно когда происходит определенное событие и стек задач пустой
По умолчанию обычные функции выполняются последовательно. Друг за другом. Асинхронные функции выполняются параллельно. Но, если при вызове асинхронной функции дописать await, то весь код будет ждать, пока выполнится эта асинхронная функция. Надеюсь я вас не запутал :)
@@alex_dudukalo кстати, в настройках редактора кода можно поставить галочку и будет авто сохранение, и не надо помнить о нём)) я поставил галочку и все🤷♂️