«После прочтения впал в депрессию, поскольку посчитал себя тупым» Да это же я
@Данило-р9у4 жыл бұрын
и так каждый раз когда что то читаешь по програмачу...
@Давид-п8и5 жыл бұрын
Много видео пересмотрел на тему промисов, и могу с уверенностью сказать, что вы понятнее всех объяснили эту тему. Однозначно лайк!!!👍👍👍
@itgid5 жыл бұрын
Спасибо!
@pandaskeptic29375 жыл бұрын
Это то что я хотел написать. Прям слово в слово. 👍👍👍
@alexschwarz52503 жыл бұрын
Аналогично. Спасибо автору
@yoursleepandrelaxation69483 жыл бұрын
Я тоже много видео посмотрел и везде такой комментарий
@sia42812 жыл бұрын
@@itgid было бы здорово если бы вы в описании указали верный код, сейчас же просто глобальную переменную переопределили, а не обработали результат. Если, например, заменить присваивание на сложение, то работать не будет. let a = 7 let b = new Promise((resolve, reject)=>{ setTimeout(()=>{ resolve(a+99) }, 2000) }) b.then(function(a) { console.log(a); })
@AdnS0083 жыл бұрын
Как же идеально человек объясняет, я все понял с первого раза, до этого смотрел другие видео, так же читал MDN - ни черта не понял, а здесь за 12 минут понял, спасибо Вам.
@СергейКовалев-в4ь11 ай бұрын
Если мне что-то не понятно, я всегда иду к вам на канал. Вы очень хорошо объясняете!
@shamiltat792 жыл бұрын
Дякую Олександре, дуже просто, зрозуміло і без зайвої складної термінології пояснили сутність промісів. Це найкраще пояснення, яке вдалось знайти 👍👍👍
@DavitAve2 жыл бұрын
Уже долгое время смотрю ваши уроки, вы понятнее всех обесняете!)
@jinke59353 жыл бұрын
Памятник вам, Александр, на все времена! Документация действительно о промисах - сплошной дремучий лес. Но благодаря вашему видео всё стало яснее ясного. Спасибо вам!
@B_G_V3 жыл бұрын
Отличное видео, уважение автору. Единственное видео, где всё понятно объяснили. В других видео, которые я смотрел по этой теме, тупо показывают синтаксис, но не объясняют, что и для чего делается. У вас всё просто и понятно👍👍👍
@AlterMeister5 жыл бұрын
Один из лучших каналов по js на Ютубе!
@МаксимПодлинный5 жыл бұрын
Дзякуй за тлумачэнні. Сапраўды зразумела. Ёсць невялічкая парада - калі запісваеце новыя відэа не кажыце ў іх пра "заўтра будзе наступная тэма", альбо "праз тыдзень...". Гэтыя фразы актуальныя толькі невялікі час. А гэтае відэа будуць глядзець і праз гады.
@andreyzinovjev39204 жыл бұрын
что за язык чувак??
@sergeygetman19734 жыл бұрын
я так говорить могу, когда с кумом литру на двоих выпью )
@AlexiyPok3 жыл бұрын
@@andreyzinovjev3920 Белорусский.
@TheDeathoxy5 жыл бұрын
Как раз хотел разобраться с промисами. А тут видео) Спасибо)
@itgid5 жыл бұрын
ну это первое из видео, дальше будет с примерами!
@bohdan.petrov5 жыл бұрын
Прочёл тему на learn.javascript и ничерта не понял + там примеры с обработчиками событий, которые ранее не рассматривались. Ваше видео обяснило просто и доступно. Спасибо за ваш труд!
@itgid5 жыл бұрын
Bohdan Petrov спасибо!
@АнтонБойко-в3ж5 жыл бұрын
Спасибо! Очень доступно объясняете! Давайте про async/await ещё
@vladislava_sim3 жыл бұрын
спасибо, наконец-то понятное объяснение среди кучи других видео на эту тему
@ВикторЩербаков-ь4б5 жыл бұрын
Уж не знаю кто ставит дизалайки, наверное авторы других каналов по такой же тиматики, которые не смогли так же круто объяснить промисы. Автору действительно спасибо, я наконец-то понял как работать с промисами.
@TV-yj6mz2 жыл бұрын
Ура! Разобрался)) доходчиво и понятно, а главное просто обьяснили! спасибо!
@excel-vba-learn3 жыл бұрын
поддерживаю, очень доступно, нифига не понимал как это работает до просмотра вашего видео, респект твердый!
@JuliaDark7 ай бұрын
Это самое понятное описание промисов! Понял даже гуманитарий :)
@goddeaf5 жыл бұрын
неужели прислушался, спасибо большое за это(и) видео ))) ты лучший!
@alextinyverse3 жыл бұрын
Посмотрел до этого урок по промисам, не понял. Посмотрел ваш видео урок, и очень даже понял. Спасибо
@michael3513 Жыл бұрын
Здравствуйте, спасибо за толковое объяснение. Видео называется часть 1, а следующих частей на канале не нашел...
@dv4able3 жыл бұрын
Спасибо, вы замечательный преподаватель
@eurorock59125 жыл бұрын
Алекс - огромное спасибо за важную тему!) А то да, их сходу сложно понять.
@itgid5 жыл бұрын
Спасибо!
@heh82862 жыл бұрын
В 6:30 утра записывать видос? Это достойно лайка
@hdiawhddhjdkfks2 жыл бұрын
Спасибо большое за обьяснение, стало понятно, что такое promise и зачем он нужен :)
@immasha8187 Жыл бұрын
я благодарен вам я уже много роликов смотрел про промисы но не понимал что это как это почему это вы очень хорошо объяснили промисы даже я сам удивился что сразу всё понял
@RuslanNumber13 жыл бұрын
Посмотрел видео от Минина, потом у Александра и дошло только после просмотра данного ролика, хоть против Владилена ничего не имею и он тоже хорош, но до меня не дошло. Спасибо, Александр.
@YauhenRomeiko5 жыл бұрын
после уроков первых по js непривычно win видеть у вас) спасибо за урок, смотрим дальше
@nicolaicushnir93285 жыл бұрын
Хочу поблагодарить автора от чистого сердца за такую качественную работу. Просто потому что на русском KZbin я не видел такой качественный контент. Плюс, автор рассказывает очень подробно и понятно. Такое ощущение будто автор кормит нас с ложкой. Но это возможно только моё мнение. Хочу отметить что к сожалению я вынужден ненадолго отклонить ваши уроки по JavaScript. Потому что я много ходил на собеседование чтобы устроиться на работу. К сожалению, я так и не устроился. Но по крайне мере я начал понимать что надо сделать чтобы осуществить давнюю мечту. И я решил сделать шаг назад в сторону HTML и CSS. А потом вернутся к вашим урокам. Ещё раз спасибо за вашы уроки.
@Tipuchek5 жыл бұрын
Без html и css в js нечего делать
@nicolaicushnir9328 Жыл бұрын
@@TipuchekОпа, я вижу свой старый комментарий, как время быстро летит. Решил понять почему потключение к MongoDB работает примерно как видео. Не пойми меня неправильно, я не плохо разбераюсь в эту БД. Так вот. И что я вижу? Ещё один комент. Прости чувак за то что не ответил тебе раньше. Неувидел. Ща исправим. Уже стараюсь пилить серьёзные проекты в Gitlab, а некоторые неплохие типа "my-blog" где выкладую свой код или говорю что думаю о разных ситуациях которые происходит в мире. Но пока не решаюсь разместить сайты в интернете и за их не безопасность. Я не спецальст по данному вопросу. Но рано или поздно мне придётся это сделать. Вот было круто если автор сделает курс по безопасности на уровне: {приложении, операционных систем, и сетей } И всё что связано с вебом.
@TheVakin2132 жыл бұрын
В целом всё верно. Но я позволю себе докопаться. Вы передали в резолв значение, но в then в колбеке его не обработали, а взяли "a" из глобальной области. В таком случае, можно было просто вызвать резолв в промисе без передачи в него каких-либо значений.
@ОлегПетров-п4у3 жыл бұрын
Алекс, спасибо! Очень доступно объясняете!
@Vinits-i2 жыл бұрын
Боже, наконец-то я поняла, что такое Промис!! Спасибо!
@trippie70143 жыл бұрын
Большое, искреннее, человеческое СПАСИБО! Я уж было в депрессию впал из-за своей тупости. Но вы помогли)
@Atikan37 Жыл бұрын
Спасибо вам большое, очень понятно! Всё просто и доступно!
@МаксимЖурин-е4б5 жыл бұрын
Понятно, хорошо обьяснил! Спасибо, жду продолжения, голос приятный
@dimageorgiev57985 жыл бұрын
))) после первого прочтения о реакции ... я смеялся спасибо за урок ) ! так держать !
@kapotonai5 жыл бұрын
Блин,неужели до меня дошло).Спасибо Александр!
@eugenefedorov34985 жыл бұрын
Я никак не пойму, а не легче просто создать функцию, и вызывать ее когда ajax готов? И чем тогда промисы лучше? Читабельностью? Да вроде нет...
@zp300788sea2 жыл бұрын
Спасибо за работу!!Все очень понятно.
@serser52604 жыл бұрын
Отец, как всегда красиво стелишь, спасибо
@oleksiykurylyuk46965 жыл бұрын
Дякую за зрозуміле розяснення.
@ОлегГуржий-ь3п2 жыл бұрын
А где следующая часть по этой теме?
@davidfromnorth78364 жыл бұрын
Вот зарекся искать только инфу из англоязычных источников, но ты объяснил лучше всех всё равно!
@turalperfectworld10655 жыл бұрын
Ждал этого. Спасибо!
@itgid5 жыл бұрын
супер!
@ВладикГеранин4 жыл бұрын
вот теперь я понял зачем они нужны , спасибо !
@AU_IAN Жыл бұрын
Блин, почему мне не попался этот ролик раньше, и как хорошо, что попался сейчас! Александр, Вам огромное спасибо, а вот вопрос к остальным сенсеям, почему нельзя объяснять максимально просто и понятно? Объясняют так, что понять может только тот, кто всё это уже знает!
@singlebw40655 жыл бұрын
1й вызов then передаёт анонимную функцию в аргумент resolve. Мне кажется или предавая аргумент в вызове resolve нужно указать анонимной функции что прилетит какое то значение которое надо бы вывести. Видимо JS не обращает внимания на такие ошибки
@DirtyKalach3 жыл бұрын
подскажите, в каком плейлисте вторая часть?
@ДашаКороткевич Жыл бұрын
пока это лучшее объяснение, спасибо
@andreynikakoy48622 жыл бұрын
Очень ясная подача материала, спасибо
@mikobro59232 жыл бұрын
Не могу найти продолжение... Подскажите часть 2 3 есть?
@gamerplayelden2 жыл бұрын
Здравствуйте а где продолжение этого видео, не могу найти)
@yaroslavzef72674 жыл бұрын
Реально кроме лести самое понятное объяснение. Я не понимаю зачем другие лезут такой огород городить, если можно все на простых примерах показать
@vados73414 жыл бұрын
Мне очень нравятся твои видосы, удачи тебе.
@gregplittjunior83134 жыл бұрын
ппц так просто обьясняете сразу понял суть спасибо вам
@parvaqa13985 жыл бұрын
Хороший толковый пример. Но на реальном проекте всё немного закрученнее с промисами. А еще есть async/await - можете раскрыть тему разницы этих инструментов и их в каких случаях их применяют на проектах?
@itgid5 жыл бұрын
да, постараюсь
@dejima25794 жыл бұрын
А почему вы поместили переменную "а" в resolve, ведь resolve должен вызываться по окончаннии работы промиса, т.е. пременной "а" присвоили 99, а потои вызывали промис
@EugenePorubenko-q2e5 жыл бұрын
Спасибо! Как всегда - отлично!
@itgid5 жыл бұрын
спасибо!
@Orest19965 жыл бұрын
где следуйщая часть по промисам ???
@cikada33985 жыл бұрын
Продолжение в студию)
@v_sandz4 жыл бұрын
По сути получается, что это аналог событийного подхода? Можно же создать своё кастом событие, которое дёрнуть из результата ассинхронного запроса (к серверу, например), а ниже (где надо продолжить писать код, чтобы было более читаемо) просто обработчик этого кастом события. Прошу указать мне на мои ошибки в подходе, если есть. Потому что иначе я пока не понимаю разницу между промисами (которые не везде поддерживаются) и кастом событиями (которые делают, по сути, то же самое)
@AdequateRussian3 жыл бұрын
Здравствуйте, подскажите где найти вторую часть
@nikn62445 жыл бұрын
а где следующее видео, вроде говорилось "завтра" ?
@alexandershevchenko70274 жыл бұрын
Это был "промис" :-)
@Rapterlol5 жыл бұрын
Очень доступно рассказал. Лайк однозначно!
@kalyszhek52964 жыл бұрын
То есть в месенджерах есть же, "был(а) столько-то минут назад". Это тоже можно назвать промисы, да? имею ввиду сделан на промисах.
@OJIekciu6 ай бұрын
А буде 2 частина?
@Wolterhon2 жыл бұрын
Не очень хороший пример был закидывать в resolve a = 99. Параметры, закинутые в резольв получит функция, выполняющаяся в then, в данном случае это просто будет true если мне память не изменяет, к тому же в примере в then функция никаких параметров не получает. В остальном прекрасный туториал, благодарю вас за проделанный труд :)
@ChristinaShevtsova-q8n3 жыл бұрын
спасибо огоромное за самое понятное обьяснение!!!
@АлександрСилков-ф2ж6 ай бұрын
Дзякую сябра.., все четко!
@АлександрКириченко-ц1е4 жыл бұрын
Короче вы в компании смотрите фильм. Раздается звонок в дверь, скорее всего это привезли пиццу. Вы просите друзей поставить фильм на паузу, пока вы заберете доставку. Они promise дождаться вас с условием resolve( inYourHands = pizza). Если вы вернулись с пиццей .then друзья отжимают паузу и вы смотрите фильм дальше)
@itgid4 жыл бұрын
отличное видео. Только без паузы.
@Pindeho7772 жыл бұрын
Спасибо, Вы лучший!
@27sosite732 жыл бұрын
мужик знаэ як вчити. питань немаэ. дякую тобі чоловіче з луганська
@DiabloSat_off3 жыл бұрын
СПАСИБО БОЛЬШОЕ! Очень выручил
@ticheroi4 жыл бұрын
Господи, молодой человек, как же мне нравится ваш подход к объяснению и процессу формулирования мыслей. Пытался читать mdn документацию - кошмар, популярных Ютюб блогеров на английском языке - кошмар, наши вообще какие-то нелепые аналогии проводят с какими-то контрактами для каких-то рок групп О.о отписываюсь от всех них, оставляю в подписках только ваш канал, спасибо вам большое
@Soras7075 жыл бұрын
А когда выйдет следующее видео ?
@-Forever-Young-2 жыл бұрын
Александр, у вас не хватает буквы в словосочетании "курс верстки". Спасибо за видео, дошло наконец то)
@trotsm5 жыл бұрын
Дякую, чекаю продовження про reject.
@СергейРыженьков5 жыл бұрын
а когда ждать 2 и 3 часть про Promise
@mylife-myart49165 жыл бұрын
там 5 мес назад же сказали - завтра))) вот все и ждут каждый день завтра))
@zealot43253 жыл бұрын
спасибо, немного яснее стало. Сам учил промисы через документацию, а оказывается через эти не-для-людей-формулировки так ничего и не понял
@lekca2165 жыл бұрын
Объясните если не сложно. Вот если написать как у вас, то resolve дожидается выполнения a=99, но почему если в resolve обернуть весь setTimeout, то он не будет дожидаться отработки таймаута и then выведет старое значение? Типа resolve смотрит непосредственно на то, запустился ли таймаут? И если успешно запустился, то выполняется then, не дожидаясь отработки таймаута? Или как?
@Dendor35193 жыл бұрын
Промисы и для меня стали непонятной ступенькой. Но это видео действительно сильно облегчает понимание этих конструкций.
@froststorm775 жыл бұрын
А когда будет следующее видео по промисам ?
@dark-mv4br5 жыл бұрын
где продолжение? как найти? емае :Р
@DmitriyVereschagin4 жыл бұрын
Ждем ребят из 2021-го.
@techno77614 жыл бұрын
@@gagogoga794 Я из 2021 года, продолжения нет! Безобразие! Я буду жаловаться в Лигу Наций!
@PhylJoy3 жыл бұрын
Ждём
@ivanpavlovich48913 жыл бұрын
@@HannaSoupel я с конца 2021 года и промиссов до сих пор нету
@getshou_914 жыл бұрын
Без setTimeout промис никак не работает? Если мне не нужно это ожидание, а просто определенный порядок загрузки данных?
@СуржикСергей-с4в4 жыл бұрын
Я правильно понял, что promise и callback, это почти одно и тоже(по функционалу я имею ввиду)?
@РустамАетбаев-р4к2 жыл бұрын
Спасибо! Чётко и ясно!
@АндрейЧуринов-ь8с3 жыл бұрын
А где второе видео? Никак не могу найти на канале)
@kiminomeha4 жыл бұрын
Разбор Reject уже вышел?
@sia42812 жыл бұрын
Код неверный!!! За три года можно было бы хотя бы в описании указать. Вы же просто переопределили глобальную переменную, не обработали значение в then, не передали аргумент. Вот верный код (изменил присваивание на сложение для наглядности) let a = 7 let b = new Promise((resolve, reject)=>{ setTimeout(()=>{ resolve(a+99) }, 2000) }) b.then(function(a) { console.log(a); })
@valentyn9965 жыл бұрын
Жду другие части! Спасибо!
@MadlessDiamond5 жыл бұрын
Молочага, понял с первого раза) это при том что ходил на полу годовые курсы по фул стаку и нехера не понял) Где следущие видео промиса с reject?
@Anne-kz4fi5 жыл бұрын
Здравствуйте, ваши видео просто спасают! спасибо. Не могли бы объяснить почему нельзя написать b.then( console.log(a))? в этом случае результат получается 7, а не 99. Не очень поняля как именно function внутри b.then() влияет на результат. Гуглила но не нашла ответ.
@RusIvan20223 жыл бұрын
Что бы понять это: then это метод обьекта промис. Нужно посмотреть что конкретно может принимать в качестве параметров данный метод и смотреть что он делает.
@RusIvan20223 жыл бұрын
Вот ответ на ваш вопрос: Если один или оба аргумента отсутствуют или их значения не функции, то then пропустит их и не выбросит ошибку. Если для Promise, который переходит в состояние выполнен или отклонён вызван метод then, и у данного метода нет нужного обработчика, то в таком случае then просто возвращает промис с состоянием начального Promise, для которого then был вызван.
@ОлегАлёхин-б8л3 жыл бұрын
Класс, а где продолжение? )
@NairiAreg4 жыл бұрын
10:22 читаешь мои мысли 😂
@simplewebdev10985 жыл бұрын
Автор нормально объясняет, но мне данное видео не зашло совсем. Я более-менее понимаю за промисы, но из данного видео ничего не понял. Ну имхо, людям внизу зашло, может я такой. На всякий случай оставлю своё описание промисов (как известно, если хочешь что-то понять , то попробуй это объяснить кому-то). Эти все истории, промис - это обещание сделать что-то, как по мне, только запутывают. Забудьте (нажимает кнопку на приборе из людей в чёрном). Промис - это объект ЖС, как, например Date. И как у любого другого объекта у него есть поля. Нас интересуют поля состояние (state), then и catch. Когда мы создаём промис, объект, состояние устанавливается в ХЗ (оно как-то называются, не суть). Начинается выполнение кода внутри переданной функции. Этой функции мы передаём два аргумента, resolve и reject. Что это вообще за ересь? Суть такая, когда при выполнении кода внутри будет вызвана resolve(), то state промиса станет resolved и будет выполнено то, что написано в поле then этого промиса. Если при выполнении кода внутри будет вызвана reject(), то state промиса станет rejected, и будет выполнено то, что записано в поле catch этого промиса. Эти функции (resolve и reject) можно называть как хочешь, но лучше не надо. Они при вызове принимают один аргумент, и передают его в then и catch соответственно. Нипанятно? Давайте пример. Классика, мы стучимся на сервер, хотим что-то от него получить. Какие могут быть варианты? Мы можем не достучаться, это раз. Мы можем достучаться, но быть посланы, это два. Мы можем достучаться, получить ответ, но ответ придёт битый, это три. Ну и четыре, всё пройдёт как надо. Дальше, чтобы упростить, представим, что у нас есть объект request, представляющий ответ сервера. И у нас есть некая функция valid(), которая может проверить валидность ответа и вернуть true или false. let prom = new Promise((resolve, reject) => { ....... тут мы создаём запрос и отправляем его на сервер, получаем request вешаем слушатель ....... if(request.status == 200){ if(valid(request.response)){ resolve(request.response); } else reject("Ответ поломан"); } else reject("Ошибка сервера "+request.status); }); Теперь, что это всё значит. Наш код внутри промиса начнёт работать. Создастся запрос на сервер, повесим слушатель на приход ответа и всё такое. Дальше код ждёт ответа. Как только при выполнении кода сработает resolve или reject работа кода закончится (хотя, может и дорабатывает код, точно не скажу, нужно проверить), state промиса переключится в resolved или rejected и начнётся выполнение then или catch в зависимости от того, что сработало. Таким образом, в then мы помещаем код, работающий при нормальном ответе с request.response, а в catch помещаем обработчик ошибок, возможно, повторяющий запрос, или выводящий сообщение, или что мы там хотим. Обратите внимание, в зависимости от того, какой if не сработает, reject будет вызван с разным аргументом, и эту ситуацию мы сможем обработать в catch, который получит этот аргумент. Если ты дочитал до этого места, скажи, хоть что-то понял?))
@TheDeathoxy5 жыл бұрын
Все отлично расписано. Как раз сама основная мысль)
@demonspel5 жыл бұрын
спасибо, в видео как раз непонятно зачем он в аргументы resolve запихнул а=99, щас всё догнал
@simplewebdev10985 жыл бұрын
@@demonspel справедливости ради, автор ведь и не говорил, что всё объяснил, там ещё три видео должно быть.
@simplewebdev10985 жыл бұрын
@@TheDeathoxy спасибо )
@васявасев-р2ш5 жыл бұрын
с тебя объясняльщик как пистолет с говна
@pizdatobi87875 жыл бұрын
Алексей, благодарю за урок. Но как теперь выдернуть "a" из .then ? Как получить значение переменной "a" в виде глобальной переменной?
@АлексМиллер-п4г5 жыл бұрын
она уже поменяла свое значение глобально. просто это произошло не сразу, а через 2 секунды таймаута. попробуй не в then, а в основном потоке кода вконце проверить, поставить сеттаймаут например 3 секунды и в нем законсоль переменную а.
@andreyzinovjev39204 жыл бұрын
А где еще два видео?.. в описании ссылка на плейлист где 60 видео