Содержание
- 2. Колбэки - функции обратного вызова Функции называют «асинхронными», потому что действие (загрузка скрипта) будет завершено не
- 3. Колбэки - функции обратного вызова callback — функция, которая будет вызвана по завершению асинхронного действия. Обработка
- 4. Адская пирамида колбэков
- 5. Промисы Объект Promise (промис) используется для отложенных и асинхронных вычислений. const newPromise = new Promise((resolve, reject)
- 6. Промисы Функции-потребители могут быть зарегистрированы (подписаны) с помощью методов .then, .catch и .finally. Первый аргумент метода
- 7. Промисы new Promise(function(resolve, reject) { ... }); Функция, переданная в конструкцию new Promise, называется исполнитель (executor).
- 8. Промисы Если мы хотели бы только обработать ошибку, то можно использовать null в качестве первого аргумента:
- 9. Promise.all Promise.all([ new Promise(resolve => setTimeout(() => resolve(1), 3000)), // 1 new Promise(resolve => setTimeout(() =>
- 10. Async/await Специальный синтаксис для работы с промисами - «async/await» async function newFunc() { return 1; }
- 11. Async/await Ключевое слово await заставит интерпретатор JavaScript ждать до тех пор, пока промис справа от await
- 12. Async/await async function newFunc() { let promise = new Promise((resolve, reject) => { setTimeout(() => resolve(1),
- 13. Сетевые запросы Для сетевых запросов в JavaScript можно использовать методы fetch (для современных браузеров) или XMLHttpRequest
- 14. Fetch let response = fetch(url, [options]) url – URL для отправки запроса. options – дополнительные параметры:
- 15. Fetch Методы для response: response.text() – читает ответ и возвращает как обычный текст, response.json() – декодирует
- 16. Fetch fetch('https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits') .then(response => response.json()) .then(commits => console.log(commits));
- 17. Fetch Получить хедеры ответа: response.headers Получить хедер Content-Type ответа: response.headers.get('Content-Type')
- 18. Fetch Установить хедеры запроса: let response = fetch(URL, { headers: { Authentication: 'secret' } });
- 19. Fetch Для отправки POST-запроса или запроса с другим методом, нам необходимо использовать fetch параметры: method –
- 20. XMLHttpRequest 1. Создать XMLHttpRequest. let xhr = new XMLHttpRequest(); 2. Инициализировать его. xhr.open(method, URL, [async, user,
- 21. XMLHttpRequest 4. Слушать события на xhr, чтобы получить ответ. xhr.onload = function() { alert(`Загружено: ${xhr.status} ${xhr.response}`);
- 22. Задача 1 Создайте асинхронную функцию getTasks(), которая возвращает массив объектов категорий. Данные получать по ссылке: https://test-todoist.herokuapp.com/api/tasks
- 23. Задача 2 Создайте асинхронную функцию getUsers(names), которая получает на вход массив логинов пользователей GitHub, запрашивает у
- 25. Скачать презентацию