Как узнать, что сработала функция обратного вызова? - PullRequest
0 голосов
/ 30 июня 2010

Как я могу узнать, что произошло событие обратного вызова? Я должен выполнить действие после того, как сработало событие обратного вызова, должен ли я поместить код в функцию обратного вызова или есть какой-то другой способ узнать, когда сработал обратный вызов? Даже если я поставлю код действия после оператора, делающего запрос javascript, я не могу быть уверен, что код действия будет выполнен после срабатывания обратного вызова?

Ответы [ 4 ]

2 голосов
/ 30 июня 2010

Вы должны поместить его в функцию обратного вызова. Вы можете сделать это косвенно (например, функция обратного вызова вызывает другую).

1 голос
/ 30 июня 2010

Как я могу узнать, что сработало событие обратного вызова?

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

Мне нужно выполнить действие после срабатывания события обратного вызова. Должен ли я поместить код в функцию обратного вызова или есть какой-то другой способ узнать, когда сработал обратный вызов?

Нет другого способа определить, был ли выполнен обратный вызов.

Даже если я поставлю код действия после оператора, делающего запрос javascript, я не могу быть уверен, что код действия будет выполнен после срабатывания обратного вызова?

под "запросом javascript" вы подразумеваете "запрос ajax". Если это так, я бы посоветовал сделать это таким образом, потому что, скорее всего, он будет запущен до обратного вызова. В большинстве случаев запросы ajax являются по определению асинхронными ( A синхронные J avaScript a nd X ML = AJAX). И из-за этого скрипт не будет ждать ответа на запрос, чтобы продолжить сам по себе. Вот почему вы должны использовать обратные вызовы. Обратные вызовы гарантируют, что некоторый код вызывается после того, как что-то определенное произошло.

1 голос
/ 30 июня 2010

Как узнать, что функция обратного вызова выстрелил?

Вы можете просто поставить предупреждение в функции обратного вызова на знать независимо от того, сработало оно или нет.

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

0 голосов
/ 13 апреля 2018

Если у вас была функция обратного вызова, например:

setup(data, namespaces, eventHandler) {
    $(this).resize(eventHandler);
});

Вы можете перевести ваш обратный вызов в другой обратный вызов и получить контроль до вызова этой функции.

setup(data, namespaces, eventHandler) {
    $(this).resize(() => {
        console.log("calling eventHandler()")
        eventHandler();
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...