Различие между обработчиками событий и обратными вызовами

Каково различие между обработчиком событий и функцией обратного вызова?

61
задан TylerH 10 March 2017 в 17:21
поделиться

6 ответов

Обработчик событий - это обратный вызов из системы.

-121--977893-

Пробовали ли вы получить доступ через $ _ SERVER superglobal?

print $_SERVER["HTTP_REFERER"];
-121--3526123-

Вообще говоря, «обратный вызов» находится под контролем процесса обнаружения. Итак, вы говорите менеджеру GUI «вызвать myaction при нажатии этой кнопки», а менеджеру GUI вызвать действие при нажатии кнопки.

Обработчики событий, с другой стороны, работают на одном удаленном шаге. Диспетчер GUI настроен на отправку сообщений обработчику событий. Менеджер событий сообщает, что нажатие кнопки выполняется программой myaction . Когда кнопка нажата, менеджер GUI помещает сообщение в очередь обработчика событий и переходит к управлению GUI. Обработчик событий забирает сообщение из очереди, видит нажатие кнопки, запускает программу myaction и переходит к обработке следующего события. Обычно программа myaction выполняется как независимый поток или даже как отдельный процесс.

В то время как образец «обработчик событий» является более сложным, он намного надежнее и реже зависает при сбое действия. Это также обеспечивает более быстрый графический интерфейс пользователя.

20
ответ дан 24 November 2019 в 17:12
поделиться

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

Обработчик событий - это процедура, называемая событие. Это может быть обратный вызов.

45
ответ дан 24 November 2019 в 17:12
поделиться

Обработчик событий является типом обратного вызова. Это называется всякий раз, когда происходит событие. Термин обычно используется в терминах пользовательских интерфейсов, где события - это такие вещи, как перемещение мыши, нажав что-то и так далее.

30
ответ дан 24 November 2019 в 17:12
поделиться

Обратный вызов (из Википедии) : «Исполняемый код, который передан как аргумент для другого кода».
Обработчик событий (снова из Wikipedia) : «Подпрограмм асинхронного обратного вызова, который обрабатывает входы, полученные в программе».

, Что происходит так, как я всегда понял: обработчик событий является очень конкретным типом обратного вызова.

10
ответ дан 24 November 2019 в 17:12
поделиться

Я люблю, как все эти ответы отличаются друг от друга.

От этого я бы заключил, что из терминологии точки зрения события и обратные вызовы взаимозаменяются. То, что они имеют в виду на конкретном языке программирования или рамки и отличаются, потому что любая платформа имеет тенденцию выбирать свои любимые условия.

0
ответ дан 24 November 2019 в 17:12
поделиться

Обработчик событий является обратным вызовом из системы.

-3
ответ дан 24 November 2019 в 17:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: