остановить выполнение JavaScript до ответа JSON JSON - PullRequest
3 голосов
/ 02 февраля 2012

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

Есть ли способ отложить выполнение функции Javascript до получения данных ответа от веб-службы, кроме setTimeout метод.

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

Описание

Вы можете использовать события jQuery .ajaxStart() и .ajaxComplete(), чтобы быть замеченным, если ваш ajax-вызов выполняется. Вы можете создать переменную bool, что-то вроде isAjaxRunning и поместить ее в другой javascript. Поэтому, если isAjaxRunning истинно, не выполняйте другой javascript.

Дополнительная информация

1 голос
/ 02 февраля 2012

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

async : false - тогда это не будет асинхронный вызов, как обычный ajax.

Если вы можете опубликовать пример кода - это даст ясную картину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...