Помощь Joomla



Javascript Программирование

Асинхронное программирование  Июль 15, 2018 – 19:27
JavaScript – программирование или Event-driven программирование - общее название для стиля программирования, при котором результат работы функции приходит не сразу после вызова, а когда-нибудь потом.

В Javascript такое - сплошь и рядом. На этом построен AJAX и javascript-анимация.

Писать программы, в которых результат вызова функции приходит неизвестно когда - куда сложнее, чем обычные. Вложенные вызовы, обработка ошибок, контроль за происходящим - все усложняется.

Поэтому люди изобрели некоторые полезные методы, облегчающие асинхронную жизнь.

  • Объект Deferred.

    Каждый, кто когда-либо использовал AJAX, знаком с асинхронным программированием. Это когда мы запускаем некий процесс (скажем, XMLHTTPRequest) и задаем функцию callback обработки результата.

    На первый взгляд, все очень просто, но лишь до тех пор, пока мы не захотим добавить вызов новой функции после callback, сделать удобную обработку ошибок и исключений, а также - предусмотреть добавление новых функций в конец цепочки асинхронных вызовов.

    Один способ - добавлять каллбэки в параметры всех функций. Другой - использовать для управления асинхронностью отдельный объект. Назовем его Deferred.

    Такой объект есть, например, в библиотеке Mochikit и во фреймворке dojo.

  • Вложенные асинхронные вызовы. Объект Deferred в деталях.

    Объект Deferred инкапсулирует последовательность обработчиков для еще не существующего результата, чем сильно упрощает сложные AJAX-приложения. Он предоставляется различными фреймворками (Dojo Toolkit, Mochikit) и отдельными библиотечками (jsDeferred, Promises etc).

    С его помощью можно добавлять обработчики не в момент запуска метода (например, посылки запроса XMLHTTPRequest, а в любой момент после этого.

Source: javascript.ru

Похожие публикации:

  1. Sql Язык Программирования
  2. Начало Программирования
  3. Урок Программирования