Помощь в получении данных для вывода при изменении переменной - PullRequest
0 голосов
/ 27 декабря 2010

Я пытаюсь написать интерфейс JavaScript для API, но я не могу понять эту проблему. У меня есть код для вызова ajax-запроса:

    mooshark.request('userInfoFromID', {
        userID : '20991'
    });

Этот код создает запрос Ajax. Когда он запускается, он устанавливает для внутренней переменной значение true (чтобы указать, что он работает). Тогда на следующей строке у меня есть это:

    var data = mooshark.response();
    alert(data);

Функция ответа выглядит следующим образом:

    response: function () {
        if(this.running == false){
            return "done";
        } else if (this.running == true){
            alert("Running");
            setTimeout(this.response, 3000);
        }
    }

Выводит (в этом порядке) Running. не определено. (Ответ JSON). Бег. Не один раз он выводит «сделано». Есть ли способ вернуть «готово», когда this.running становится правдой? Я хотел бы отметить, что this.running не всегда будет одинаковым временем запроса. Я знаю, что всегда есть возможность обернуть весь мой код внутри функции onCompleat в запрос ajax, но я хочу использовать это в качестве крайней меры.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 27 декабря 2010

Поскольку большую часть времени вы вызываете response () через setTimeout (), возвращаемое значение не очень полезно.

Но - вы, вероятно, никогда не устанавливаете переменную 'running' в false. Вы можете разместить больше кода здесь (например, код обработки ответов AJAX). Кроме того: что именно вы пытаетесь достичь, возвращая / оповещая «работает» и «готово»?

0 голосов
/ 27 декабря 2010

Это невозможно без зависания браузера.

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

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