Як працює async/await у Javascript?

Ғылым және технология

Async/await в JavaScript - це синтаксичний цукор для роботи з промісами, який дозволяє писати асинхронний код, що виглядає як синхронний. async використовується перед функцією, щоб вона повертала проміс, а await дозволяє зупинити виконання функції, доки проміс не буде виконано або відхилено. Це робить код більш чистим і зрозумілим.
0:00 async-await (Вступ)
0:17 Що таке async
0:46 Що насправді повертає асинхронна функція.
1:39 Як працює await?

Пікірлер: 11

  • @WebxInUa
    @WebxInUa14 күн бұрын

    Вийшло класне відео про Функції генератори та ітератори у JS - kzread.info/dash/bejne/qGiqtLWTeM6vkps.html

  • @ops_rv
    @ops_rv22 күн бұрын

    Подивився, що є на каналі, всі про біль js розробника)) Підписався, дякую)

  • @WebxInUa

    @WebxInUa

    22 күн бұрын

    Дякую 🤩🫶

  • @ant_code
    @ant_code28 күн бұрын

    є ще елегантніший спосіб щоб обходитись без врапера try/catch. Наприклад: const result = await myAction().catch(() => null); в такому прикладі result буде null при реджекті проміса

  • @JsDevUA
    @JsDevUAАй бұрын

    👍👍👍

  • @Drinchyk
    @DrinchykАй бұрын

    Я думав: Де я => Початок => Кінець => Promise(але це не так перевірив себе потім). Дякую за цікаве відео. Я здогадуюсь чому так, але було б цікаво коротенький розбір по цьому))

  • @WebxInUa

    @WebxInUa

    Ай бұрын

    Річ у тім, що ми не викликали example із ключовим словом await(), інтерпретаор JS відпрацював наступний чином - виклик функції без await (Тобто очікувати на асинхронні дії у тілі функції не будем) АЛЕ - Так як у середині є синхронна оперція console.log('початок'), то вона відпрацює одразу, далі Проміс - це асинхронна операція, відповідно вона буде виконана через сек, таким чином ми виходимо з функції, і викликаємо наступну синхронну операцію console.log('Де я?') згодом Після 1 сек виконується блок setTimeout а далі наступний рядок після нього console.log("Кінець") ...... У JS є таке поняття FIFO (First In First Out) це про те як виконується код із стеку. Доречі SetTimeout це асинхронна операція, у неї є окреме середовище де вона простими словам відбуває свій час очікування перед виконаням у стеці виклику, назв WebAPI. У мене є відео про EventLoop там якраз я розкриваю деталі роботи синхронного та асинхронного коду kzread.info/dash/bejne/pKqlybGBZdbdgLg.html

  • @user-kb1us4dw9d
    @user-kb1us4dw9dАй бұрын

    Ми спочатку викликаємо async функцію , там у нас є console.log("Початок"); . В нас там проміс який ми чекаємо (Тому і не виводиться console.log("Кінець");). Так як async функція example() викликається без await то ми не зупиняємось і йдемо далі . Тому викликається console.log("Де я?"); . І через 1 сек. викликається console.log("Кінець"); Консоль: Початок -> Де я ? -> Кінець

  • @WebxInUa

    @WebxInUa

    Ай бұрын

    Все вірно 🙌

  • @user-nt9db8ho8r
    @user-nt9db8ho8rАй бұрын

    Нарешті українською! Дякую тобі!

  • @WebxInUa

    @WebxInUa

    Ай бұрын

    Вам дякую 🫶

Келесі