ES6 #12. JavaScript Promise. Что это и как работает (+ запросы данных из Coffee API, Beer API и др.)

Sdílet
Vložit
  • čas přidán 22. 01. 2021
  • Мой Telegram: t.me/stackdevru
    В этом видео мы разберемся, что такое объекты promise (промисы), которые появились в редакции Javascript ES6. Посмотрим, как они работают и для чего используются.
    Обещания (promises) в JavaScript - это новый инструмент для работы с отложенными или асинхронными вычислениями, добавленный в ECMAScript 2015 (6-я версия ECMA-262).
    До появления «обещаний» асинхронные задачи можно было решать с помощью функций обратного вызова (т.н. callback функции), которые имели более сложный и неудобный синтаксис.
    Плейлист курса ES6: • ES6 - Все Новые Фичи в...
    Мы будем запрашивать и обрабатывать различные данные из настоящих API:
    1) Countries API - данные о странах
    2) Coffee API - виды кофе + ингредиенты
    3) Wines API - виды вина + информация
    4) Beers API - виды пива + информация
    Мои Курсы:
    Gatsby JS (полный курс): gatsbyjs.ru
    React для начинающих: react001.ru
    ​Все мои курсы (+ исходные файлы): stackdev.ru
    Подписывайся на соц сети:
    Telegram: t.me/stackdevru
    VK: vasilymur
    Instagram: / vm_online
    Мой блог о веб-разработке: stackdev.blog

Komentáře • 96

  • @foumRU
    @foumRU Před rokem +11

    Посмотрел несколько видео про Promise, но ваши примеры просто нереально крутые, - сразу всё понятно, реальная практика с очень понятными данными. Огромное спасибо!

  • @galievramil1169
    @galievramil1169 Před 2 lety +16

    Мне очень нравится канал, реальный разраб без понтов обьясняет

  • @galichandreyschool
    @galichandreyschool Před rokem +5

    Какой замечательный контент! На реальных примерах без воды объясняете материал!
    Очень помогает изучить более детально и закрепить материал! Благодарю Вас! Успехов Вам в Вашей полезной и благородной деятельности! 😀

  • @alexforos5425
    @alexforos5425 Před 2 lety +2

    Спасибо за видео. Отличные примеры! Наконец-то я понял как использовать Promise!

  • @user-it9vi5gm9q
    @user-it9vi5gm9q Před 3 lety +10

    Спасибо за контент, хорошая подача материала особенно примеры! также понравилось что вы приводите старый синтаксис, ждем от вас так же рассказ об итераторах, генераторах и многом другом

    • @stackdev
      @stackdev  Před 3 lety +2

      Спасибо! будем работать:)

  • @artemsergeev4833
    @artemsergeev4833 Před rokem +1

    Отличная работа, наконец нашел видео с примерами работы с API и получения из них данных

  • @kennymccormick9103
    @kennymccormick9103 Před 3 měsíci +1

    Большое спасибо!

  • @vo_skor
    @vo_skor Před 2 lety +9

    Очень доходчивые видео, спасибо за ваш труд!)

  • @maximkorolev7343
    @maximkorolev7343 Před 5 měsíci +1

    Лучший!

  • @Rhythm_Men
    @Rhythm_Men Před rokem

    Очень круто.Спасибо.Успехов каналу и продвижения.

  • @annashirinskaya7400
    @annashirinskaya7400 Před rokem +3

    Отличное видео, и что очень ценно, что с реальными практическими примерами!
    Очень понятно объясняете, спасибо!

  • @user-cd1sr5sx2r
    @user-cd1sr5sx2r Před 3 lety +1

    Интересные примеры. Спасибо

  • @SerhiiParkhomenkoFingerstyle

    Отличный урок! Спасибо!

  • @zakarhappy5496
    @zakarhappy5496 Před rokem +2

    Я наконец-то начинаю понимать промисы, и в большинстве благодаря тебе, спасибо огромное и успехов тебе!

  • @PieceOfInternet
    @PieceOfInternet Před rokem +2

    Спасибо, как всегда замечательная и простая для понимания подача материала! Спасибо и удачи тебе)

    • @stackdev
      @stackdev  Před rokem

      Спасибо за поддержку!

  • @WorldCitizen1984
    @WorldCitizen1984 Před rokem +1

    Отличная подача! Как для меня новичка - идеально все показано! + примеры с доступный пониманием! Посмотрель 3и лекции по промисам - Ваша лучшая! Спасибо!

  • @user-vj3hk5es7b
    @user-vj3hk5es7b Před 7 měsíci +1

    Хорош бродяга! Четко по делу и ясно , без соплей от Минина.

  • @igorshved2224
    @igorshved2224 Před 2 lety +3

    Отличные видео, очень доходчиво и понятно все объясняется, всем рекомендую

    • @stackdev
      @stackdev  Před 2 lety +1

      Спасибо большое!

  • @ioannhide3355
    @ioannhide3355 Před rokem +2

    Вот сидишь смотришь на говно с миллионом просмотров, где говорят: давайте представим что получаем данные с сервера! И пихают в промис переменные, таймауты и ни одного рабочего примера!!! И тут ютуб подбирает видео где мало просмотров но так все по настоящему и понятно! Василий спасибо! Отличные примеры. Ведь для проектов именно работа с API а не с таймаутами или 1+1)))

    • @stackdev
      @stackdev  Před rokem

      Спасибо!

    • @RedShucov
      @RedShucov Před 10 měsíci +1

      согласен, автору плюс

  • @scvorec77
    @scvorec77 Před rokem

    классное объяснение по асинхру Promise спасибо огромное.. ))

  • @diver1668
    @diver1668 Před rokem +1

    Спасибо. Всё очень доходчиво.

  • @user-uf8nw6uc9z
    @user-uf8nw6uc9z Před rokem +1

    замечательная подача материала! автору жму руку

  • @user-eg4gt7zc8o
    @user-eg4gt7zc8o Před 2 lety +2

    Спасибо Вам большое, вы просто лучший! Пожалуйста продолжайте )))

    • @stackdev
      @stackdev  Před 2 lety +1

      Спасибо!

    • @GreekkAlex
      @GreekkAlex Před 2 lety +1

      и что, вам сразу стало понятно что внутрь конструктора промиса передается функция, которая получает два коллбэка(резолв и режект)??)))

  • @ooldstar
    @ooldstar Před rokem +1

    Отлично умеете обьяснять!

  • @user-ic9hf3ps4z
    @user-ic9hf3ps4z Před 2 lety +1

    Спасибо огромное. Очень полезно!!!

  • @thedvlpr
    @thedvlpr Před 3 lety +1

    Контент 🔥 спасибо большое!!

    • @stackdev
      @stackdev  Před 3 lety +1

      Спасибо за отзыв!

  • @user-gn5rr6rt1r
    @user-gn5rr6rt1r Před 3 lety

    очень не плохо, достаточно полезный материал, спасибо

  • @user-ry9ic6lt9h
    @user-ry9ic6lt9h Před 2 lety +2

    очень круто объяснено!

  • @vaspurakavdalian1133
    @vaspurakavdalian1133 Před rokem +1

    Я просто в восторге от его уроков.Молодец ВАСИЛИЙ

    • @stackdev
      @stackdev  Před rokem

      Спасибо!

    • @vaspurakavdalian1133
      @vaspurakavdalian1133 Před rokem

      @@stackdev Василий подскажите позжалуйста,как найти работу?Например вот я с другом изучаем с сентября месяца html,css и javascript в процесе.(вот вы меня и обучаете :). )Так или иначе разбераемся,есть собственные вёрстки сайтов,без переписи с интернета.Как вы думаете,есть кое какие мелкие проекты ,чем бы и мы могли подработать???как найти?

    • @vaspurakavdalian1133
      @vaspurakavdalian1133 Před rokem

      @@stackdev Благодарю вас за понимание

    • @vaspurakavdalian1133
      @vaspurakavdalian1133 Před rokem

      Честно говоря,в этот данный момент я смотрю ваши ролики :) 😀 Вы гений.

    • @stackdev
      @stackdev  Před rokem

      ​@@vaspurakavdalian1133 Мелкие подработки это грустно с точки зрения денег и нестабильно.
      Изучать нужно основательно те вещи, которые используются в корпоративном секторе + желательно во всем мире....
      Тогда проблем с работой и деньгами не будет)

  • @dimkagera6955
    @dimkagera6955 Před 8 měsíci +1

    Нифига се, вот это круто )

  • @user-tc6pi1nc2r
    @user-tc6pi1nc2r Před rokem +1

    From my point of view he is one of the best russian speaking js's coach

  • @muhafilo4235
    @muhafilo4235 Před 5 měsíci +1

    комментарий для пподдежки и продвижения ролика

  • @StorySieva
    @StorySieva Před 2 lety +1

    Спасибо!

  • @Viktorres1
    @Viktorres1 Před rokem +1

    Очень полезный урок. Апишка еще не раз пригодится.

  • @alexandershcheglov4653
    @alexandershcheglov4653 Před 3 lety +2

    Спасибо, за урок. Грыз эту тему на MDN было очень тяжко. Я только не совсем понял, как мы в getCoffee меняли coffee на coffee. Мы возвращаем объект в который при помощи spread копируем содержимое объекта нужного члена семьи, и тут же через запятую можно менять свойство?

    • @stackdev
      @stackdev  Před 3 lety +1

      Привет! Посмотри мои видео про Spread & Rest

  • @user-mm3xq9kx2g
    @user-mm3xq9kx2g Před rokem

    Ну наконецто!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Понял !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Лайк

  • @fewart
    @fewart Před rokem

    Подскажите почему response.ok если загружать локально заведомо несуществующий файл?
    async function fetchSvgData() {
    const res = await fetch('icon.svg')
    console.log(res.ok) // true, когда icon.svg не существует
    }

  • @Userffffff
    @Userffffff Před 2 měsíci +1

    Жалко, нельзя два лайка поставить:(

  • @user-tm9rd
    @user-tm9rd Před 2 lety +3

    спасибо за видео! подскажете, пожалуйста, какая это тема vs code?

  • @user-ed1jc6xl9r
    @user-ed1jc6xl9r Před 2 měsíci

    Классное обьяснение, классные примеры, но son выкинет ошибку

  • @user-xd6rk7th8b
    @user-xd6rk7th8b Před 2 lety +4

    почему промисы это так тяжело для простых людей :( уже 10 видео посмотрела почитала мдн и все равно непонятно как их использовать и что это такое

    • @stackdev
      @stackdev  Před 2 lety +4

      Нужно прочитать 1 раз - и 20 раз сделать. И тогда понимание начнет приходить:)

    • @user-xd6rk7th8b
      @user-xd6rk7th8b Před 2 lety +1

      @@stackdev вы правы) просто понимания, что писать нет совсем, расстраиваюсь, что мой мозг не способен осознать промис

    • @catsapp
      @catsapp Před 2 lety +1

      Потому что промис -- это черный ящик, у него нет аналогий. Мы не знаем что происходит под капотом. Нужно выучить как с ним работать на примерах

  • @user-gl8qs7qj4k
    @user-gl8qs7qj4k Před rokem

    А я не понимаю зачем нужен resolve() и его собрат reject()... для чего намеренно завершать промис успешно или неуспешно, если от нас это не зависит... Василий, пожалуйста снимите ролик про этих двух помощников промисов... я просто теряюсь в догадках!

  • @rustamtau7944
    @rustamtau7944 Před rokem +1

    05:40 .then(countries=>countries) Что за конструкция такая? У меня не работает.
    Работает только .then(countries => {console.log(countries)})

  • @____Olga__
    @____Olga__ Před 3 lety +2

    очень хорошая подача материала, не хуже , чем у человечка , названного в честь Ленина :)

    • @stackdev
      @stackdev  Před 3 lety

      Спасибо!

    • @GreekkAlex
      @GreekkAlex Před 2 lety +1

      такая же фигня что и у леновлада. не объясняются такие подкапотные дела как, например, при вызове функции getMember, вызывается коструктор промиса? при его возврате или еще как то? как внутри промиса вызываются пустые ссылки на reject, resolve или они автоматом чем то заполняются? автор или сам не знает этих вещей или не договаривает. может это есть на его платных уроках, надеюсь?)))

    • @43445fgfgd
      @43445fgfgd Před 2 lety

      @@GreekkAlex каких авторов по JS посоветуешь?

  • @masterswift9700
    @masterswift9700 Před 3 lety

    йоу крут чувак

    • @stackdev
      @stackdev  Před 3 lety

      Спасибо за коммент!

  • @user-qj2yg1rn3j
    @user-qj2yg1rn3j Před 2 lety +1

    Спасибо, но мало ((

  • @scvorec77
    @scvorec77 Před rokem

    не работает sampleapis больше.. не показывает ссылки, открывается только фронтальная страница и все((

    • @stackdev
      @stackdev  Před rokem

      Странно... у меня работает

  • @MrRasul121288
    @MrRasul121288 Před rokem

    Мне кажется,что я никогда не смогу сам такое написать( так все сложно

  • @GreekkAlex
    @GreekkAlex Před 2 lety +4

    получается внутрь конструктора промиса мы получаем функцию, которая, в свою очередь, получает два коллбэка???!!! это момент надо ж уточнять!!
    а как будут платные уроки, и такие важные мелочи не будут учтены??!!! facepalm!!

    • @catsapp
      @catsapp Před 2 lety +1

      Я тоже долго думал что такое промис, я понял, что его надо просто простить и принять как данность, таким какой он есть.

  • @GreekkAlex
    @GreekkAlex Před 2 lety +4

    нихера не понятно: resolve, reject - это функции передаваемые в промис? какая из стрелочных функций в создаваемом промисе будет вызываться в качестве resolva, а какая в качестве rejecta. нагромождение стрелочных функций просто ради сокращения строчек кода!! а как же читаемость??!!
    ушли от callback hell-а, пришли к arrow functions hell-у!!!((((

  • @faizulla5838
    @faizulla5838 Před 2 lety +2

    Согласен хорошая подача материала, но если автор не знает чтото, то он тупо об этом помалкивает и идет дальше (в предыдущем ролике было >> и >>> а что это ХЗ товарищ майор, как говориться) ... вот 07:30 вроде new нельзя использовать со стрелочными функциями? или это с другой спецификации №6.
    Если вообщем, то нельзя было полнее дать применение?... все в кконсол ло в консол лог... а что дальше с ним делать???? все 12 уроков в консол лог...
    есть пословица" взялся за гуж не говори что не дюж" ... надо дело до ума доводить.
    представьте такой же урок-курс по электрике... и автор говорит... сегодня у нас домашняя разводка...ну вот 2 провода вышли мы их омметром прозвонили... напругу подали - индикатором протестировали, вот пробник фазу показывает, все вопрос закрыт... в следующем уроке делаем гараж. И что с этими проводами делать???
    Жаль мало понимаю, взял курс на инглиш... так там от корки до корки... от А до Я... но не амриканский, а британец... половина пролетает.

  • @circusAnimal_
    @circusAnimal_ Před rokem +1

    Простите, конечно, но это вообще не урок по программированию, а поверхностный обзор на 5 мин и далее куча всякого кода с примерами, которые и так можно найти. Кликбейт короче. С таким подходом никакой концепт понять нельзя, тем более такой сложный как промисы.