Pull to refresh
24
0
Сергей @format1981

User

Send message

JQuery Deferred — примеры использования

Reading time5 min
Views66K
В этой статье я не буду говорить о том зачем в javascript нужны промисы и в частности JQuery.Deferred. Также не буду приводить справочную информацию, ее достаточно в интернете. Например тут или тут или вот тут.
Эта статья для тек кто уже немного знаком с объектом Deferred из библиотеки JQuery, но не имеет опыта написания сложных цепочек (очередей).

Подготовка

Все примеры кода, рассмотренные здесь, используют асинхронный метод $.ajax(), который возвращает так называемый jqXHR в котором реализованы промис-методы (done, fail, always, then). Нам нужны будут только они, поэтому будем считать что $.ajax возвращает промис (promise).
В некоторых примерах используются методы $.map() и $.each(), которые входят в состав библиотеки JQuery.

Последовательное выполнение

Простейшее использование промисов — это последовательное выполнение асинхронных операций. То есть следующая операция не начинается пока текущая не закончится.

$.ajax('http://echo.jsontest.com/id/1')
.then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/2')
}).then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/3')
}).then(function(result){
    console.log(JSON.stringify(result));
});

Живой пример тут.
Читать дальше →

Сортировщик страниц для распечатывания книги

Reading time2 min
Views108K
Помните этот пост? У меня он сразу попал в закладки, а уже на следующий день я с огромным удовольствием читал свежераспечатанную книгу. Сколько их (распечатанных книг) было — уже не помню. Но уверен, что не я один этим занимался. А что? Не всегда есть в продаже книга, которая нужна прям сейчас. Да и средства экономит.

Тот, кто пробовал сам распечатывать книги, знает, что процесс печати требует внимательности и аккуратности. Печатаем по 16 страниц (4 листа формата А4, по 2 страницы книги на каждой стороне листа) таким образом чтобы, сложив пополам эту стопку, получить тетрадку, в которой страницы идут по порядку, как в книге. Из этих тетрадок потом и будет сшиваться сама книга.
Читать дальше →

Information

Rating
Does not participate
Location
Волжский (Волгоградская обл.), Волгоградская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Frontend Developer
Senior
JavaScript
HTML
TypeScript
CSS
SCSS
Web development
Vue.js
Jest