Асинхронные функции, async/await, thenable, обработка ошибок

  Рет қаралды 13,177

Timur Shemsedinov

Timur Shemsedinov

5 жыл бұрын

Примеры кода: github.com/HowProgrammingWork...
Курс «100 лекций по программированию» habr.com/post/427799/
#асинхронное #программирование #nodejs #javascript

Пікірлер: 23
@Zaziqul
@Zaziqul 2 жыл бұрын
Очень нравится когда запись из аудитории с эхом и шумом кулера. Ощущение лучше в отличии от домашних видео.
@victorklimov5254
@victorklimov5254 3 жыл бұрын
Спасибо огромное!!!! Наконец-то смог более-менее разобраться как "под копотом" себя ведут промисы и await.
@timashoff
@timashoff Жыл бұрын
Спасибо! фабрика пришествий улыбнула)
@aysommer
@aysommer 4 жыл бұрын
Спасибо за лекции.
@user-wv7tx4mb6d
@user-wv7tx4mb6d 3 жыл бұрын
Спасибо за объяснение таких сложных тем))
@NicolayKrasotkin
@NicolayKrasotkin 2 жыл бұрын
Все круто! Небольшая придирка к произношению слова Promise, она так и читается -- "промис", а не "промайс". Это, видимо, какая-то распространенная недопонимание чтения слов, что заканчивается на "-ise", ведь многие слова с этим окончанием так и читаются, как "-айз": ентерпрайз, райз и т.д. Например, есть у меня есть пара знакомых, которые произносят слово Service как "сервайс"
@Fodintsov
@Fodintsov 3 жыл бұрын
13:21 "Просто это жоподельная константа, я не знаю, чему она должна быть равна". Я понимаю, что именно там звучит, но... :)))
@TheTexPro
@TheTexPro 2 жыл бұрын
Спасибо большое!
@Antonio-fm1sq
@Antonio-fm1sq 2 жыл бұрын
Спасибо!
@Fodintsov
@Fodintsov 3 жыл бұрын
Мало. :( Не устаканивает знания. Надо еще что-нибудь почитать, посмотреть, порешать, да так, чтобы все эти переходы от асинхронщины к синхронщине и от async к промисам улеглись в голове. Ессно, я про себя только говорю. Наверное, пойду к Кантору, "Вы не знаете JS", Фланагану и на CodeWars. Тяжко дается эта тема почему-то.
@user-fm5mu9cl5z
@user-fm5mu9cl5z 4 жыл бұрын
У вас в thenable (9 пример) не работают цепочные вызовы метода then. Я исправил, сделал пуллреквест
@romankotenko7
@romankotenko7 4 жыл бұрын
привет. вопрос не по теме. 6:17 "сплит, двоеточие и там асинхронную лямду". Если под лямбдой подразумевается стрелочная функция, то ее this не найдет split. const obj = { name: 'Marcus Aurelius', split: async (sep = ' ') => { return this.name.split(sep); } }; (async () => { console.log('await obj.split() =', await obj.split()); })(); // UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'split' of undefined Или что имеется в виду?
@vladiusvostokus
@vladiusvostokus Жыл бұрын
У лямбд нет this.
@superbrothers8637
@superbrothers8637 4 жыл бұрын
Привет. Почему __proto__ - жлобство, а Object.getPrototypeOf() - прилично?
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Потому, что в стандарте __proto__ нет и реализация доступа к скрытому полю отдается на откуп среде запуска
@superbrothers8637
@superbrothers8637 4 жыл бұрын
@@TimurShemsedinov В стандарте JS? Т.е. работает либо под Нодой, либо под браузером? Спасибо.
@dmytrohaponov5517
@dmytrohaponov5517 Жыл бұрын
Для чего нам вообще нужен асинхронный конструктор, где мы его можем применить вообще?
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
Например логгер, соединение с базой, сетевой протокол, да что угодно, чтоб не делать отдельный метод инициализации
@Zaziqul
@Zaziqul 2 жыл бұрын
Придумал другой async constructor(){(async()=>await fn())();return this }
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Тут конструктор вернет this до исполнения await
@Zaziqul
@Zaziqul 2 жыл бұрын
@@TimurShemsedinov ох. думал что return синхронно после iife вызовется. Второй час пытаюсь придумать как сделать async constructor что бы потом require промис не возвращал. Пробовал возвращать промис из конструктора а потом так: (async () => { module.exports = await new UserService(); })(); но так методы после require у инстанса не видны. Как я понимаю бессмысленная затея так как require из кеша будет дергать underfined если инстанс класса не успеет resolve(this). В любом случае нужно require оборачивать в await
MEGA BOXES ARE BACK!!!
08:53
Brawl Stars
Рет қаралды 34 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 8 МЛН
My little bro is funny😁  @artur-boy
00:18
Andrey Grechka
Рет қаралды 8 МЛН
Thenable и легковесный await в JavaScript
23:58
Timur Shemsedinov
Рет қаралды 3,2 М.
Callback функции в JavaScript,  синхронные и асинхронные callback, callback hell
37:01
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 34 М.
Асинхронные функции. Фундаментальный JavaScript
12:27
Михаил Непомнящий
Рет қаралды 15 М.
MEGA BOXES ARE BACK!!!
08:53
Brawl Stars
Рет қаралды 34 МЛН