1
Ведущий вебинара
Сергей Мелюков
Круг интересов: Backend, Frontend,
GameDev, MobileDev
2
Содержание
1. Таймеры и асинхронность
2. Promise и Deferred
3. AJAX
3
Таймеры
4
Таймеры
setTimeout(fn, ms) запустить код один раз через указанное количество миллисекунд
5
Асинхронность
В JS создается лишь видимость
асинхронности за счет так
называемого цикла событий.
6
Promise и Deferred
7
Promise и Deferred
- resolve callback
- reject callback
8
Promise и Deferred
Промисы можно cгруппировать в
один объект. В этом случае, можно
“навесить” на все сгруппированные
На полученный объект промиса промисы один then callback, который
можно “навесить” так называемые
выполнится, когда все или часть
then callbacks - функции, которые
будут запущены автоматически, в промисов группы будут выполнены
зависимости от результата или отклонены
выполнения основной функции
промиса. Количество таких callbacks -
не ограничено.
9
Promise и Deferred
У классического Deferred обычно всего два метода (resolve, reject) и одно свойство
promise, при помощи которого, можно навешивать then callbacks на промис
Deferred-объекта.
10
AJAX
11
AJAX
12
XMLHTTPRequest
Обработчики на события:
Для использования AJAX, необходимо:
- создать новый объект типа XMLHTTPRequest onloadstart загрузка началась
- вызвать метод open(method, url, async)
onreadystatechange смена состояния запроса
- добавить обработчики на все или некоторые
события onprogress браузер получил новые
данные
- вызвать метод send()
Результат запроса будет храниться в свойстве onloadend загрузка закончилась
response или responseText. (успешно или с ошибкой)
13
JSON
14
Cross Origin Resource Sharing
Ее суть сводится к тому, что сервер, при ответе, отдает специальный заголовок:
Access-Control-Allow-Origin: ….
Этот заголовок дает браузеру понять - кто может отправлять данному серверу
кросс-доменные ajax-запросы.
15
JSON-P
16
AJAX в jQuery
17
Время ваших вопросов
18