goMap / Jquery - остановка проверки статуса от получения пустого ответа до того, как карта Google завершит проверку Geocode - PullRequest
0 голосов
/ 02 февраля 2011

Я добавил некоторые пользовательские функции в библиотеку GoMap Google Map, но столкнулся с проблемой, когда я хочу проверить, является ли адрес действительным, но моя внешняя функция продолжает работать, не ожидая фактического ответа.

Внутри кода GoMap я создал эту функцию:

checkAddressExists: function(options){

        address = options.address;
        geocoder.geocode( { 'address': address}, function(results, status) {

        if (status == google.maps.GeocoderStatus.OK) {
              return true;  
              } else {
                return false;
              }
            });

Эта функция работает как надо и возвращает true или false.

Однако в моих внешних файлах Javascript, если я делаю что-то вроде:

var foo = $.goMap.checkAddressExists({address: address});

Foo остается неопределенным, т.е. он не ждет ответа, прежде чем решить, является ли он истинным или ложным.

Я попробовал это, но ничего не получил:

$.goMap.checkAddressExists({address: address}, function(response){
    alert(response);
});

Есть ли способ заставить его приостановить ожидание правильного ответа из библиотеки - или просто библиотека GoMap не настроена для предоставления ответа?

Я понимаю, что это может быть специфический вопрос для GoMap, но на всякий случай я упускаю базовую концепцию Jquery, которую стоит задать.

1 Ответ

0 голосов
/ 02 февраля 2011

Нет.

AJAX работает асинхронно и не будет ждать ответа от сервера.
Невозможно дождаться ответа сервера без зависания браузера.

jQuery1.5 * Отложенные объекты может облегчить работу с ним.

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