18. Асинхронне програмування 2

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
18. Асинхронне програмування 2 da Mind Map: 18. Асинхронне програмування 2

1. Частина де ми говоримо про JS

1.1. Promise

1.1.1. Можливі стани

1.1.2. Як працює

1.1.3. Які є методи

1.1.3.1. then()

1.1.3.1.1. можна об'єднувати у ланцюжки послідовних асинхронних операцій

1.1.3.2. catch()

1.1.3.2.1. Завжди завершуйте свої ланцюжки промісів викликом методу catch()

1.1.3.3. finally()

1.1.3.3.1. Метод відмінно працює у випадках, коли потрібно прибрати лоадер зі сторінки чи кнопки. Він спрацює незалежно від результату промісу, тому можна уникнути дублювання коду.

1.1.3.3.2. він не приймає аргументів і не передає нічого далі

1.1.4. Ланцюжки викликів

1.1.4.1. Обробка помилок у ланцюжках методів

1.1.5. Створення асинхронної функції з промісом

1.1.5.1. 1. Створити функцію, яка виконуватиме асинхронну операцію

1.1.5.2. 2. Повернути з функції новий проміс

1.1.5.3. 3. Аргументом у конструктор передати функцію, яка виконує асинхронну операцію та переводить проміс у стан «успіх» чи «помилка» залежно від результату

1.1.6. Promise.all()

1.1.6.1. Іноді потрібно виконати кілька асинхронних функцій і дочекатися, поки всі виконаються або одна з них завершиться помилкою. І тому існує статичний метод Promise.all() (повертає проміс)

1.1.6.2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

1.1.7. Promise.allSettled()

1.1.7.1. Якщо потрібно дочекатися, поки кілька асинхронних функцій завершаться (без різниці, успішно або помилкою), використовуйте метод Promise.allSettled() (поверне проміс)

1.1.7.2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled

1.1.8. Promise.race

1.1.8.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race

1.1.9. Promise.any

1.1.9.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any

1.1.10. Q&A

1.2. fetch

1.2.1. Як працює

1.2.2. Cookies

1.2.2.1. ну ви знаєте

1.2.3. Обробка помилок

1.2.4. Деякі специфічні випадки

1.2.4.1. Відміна запиту

1.2.4.2. Завантаження з результатом прогресу

1.2.5. Q&A

1.3. JSON, .json

1.3.1. (мені щоночі сниться)

1.3.2. Як використовується

1.3.3. Що можна з ним робити

1.3.3.1. Перетворення в JSON

1.3.3.1.1. JSON.stringify()

1.3.3.2. Перетворення із JSON

1.3.3.2.1. JSON.parse()

1.3.4. Окремі моменти

1.3.4.1. JSON дуже зручно використовувати для отримання даних у мережі.

1.3.4.2. JSON підтримується більшістю мов програмування, тому в ньому зручно зберігати службову інформацію та налаштування.

1.3.4.3. JSON не підтримує коментарі, JavaScript-коментар // коментар призведе до помилки.

1.3.4.4. Альтернативні формати передачі даних - XML та YAML.

1.3.4.5. Найбільш відомим JSON-файлом є конфігураційний файл менеджера пакетів npm – package.json.

1.3.5. Q&A

2. Епілог

2.1. Екстра матеріали

2.1.1. https://www.programiz.com/javascript/promise

2.1.2. https://exploringjs.com/impatient-js/ch_promises.html

2.1.3. https://codeguida.com/post/509

2.1.4. https://levelup.gitconnected.com/understand-javascript-promises-by-building-a-promise-from-scratch-84c0fd855720

2.1.5. https://www.educative.io/answers/what-are-promises-in-javascript

2.1.6. https://www.digitalocean.com/community/tutorials/how-to-use-the-javascript-fetch-api-to-get-data

2.1.7. https://www.geeksforgeeks.org/javascript-fetch-method/

2.1.8. https://www.javascripttutorial.net/javascript-fetch-api/

2.1.9. https://www.freecodecamp.org/news/json-stringify-example-how-to-parse-a-json-object-with-javascript/

2.1.10. https://www.programiz.com/javascript/json

2.2. Домашнє завдання

2.3. Тизер-трейлер наступного вебінару

2.3.1. Q&A