Получение данных из файла ассинхронным запросом, при его наполнении циклом

sanu0074

Новичок
Написал такой код js для обновления содержания текстового файла на странице (кусок из плагина к странице):
Код:
        consoleTimerStart : function(){
            setInterval($this.refreshConsole(), 1000)
        },
       
        destroyConsoleTimer : function(){
            clearInterval($this.refreshConsole());
            $this.refreshConsole();
        },
       
        refreshConsole : function(){                                                //обновляет консоль
            $.post(baseUrl+"getConsole",function(data){
                //alert(data);
                $(console).html(data).scrollTop(999999);
            });           
        },
       
       
        uploadFiles : function(){                                                    //загрузка файлов на сервер
            $(WORKER).show();   
            $this.consoleTimerStart();
            $(formUpload).ajaxForm(function(data){   
              $(WORKER).hide();
              $(changeImgBtn).replaceWith($(changeImgBtn).clone(true));
              $this.destroyConsoleTimer();
            });
        },
каждую секунду посылается запрос к скрипту который выдает содержимое файла console.txt
скрипт выполняется в течении 20 сек, а refreshConsole срабатывает только 4 раза, один раз сразу при старте, и три раза моментально не соблюдаю интервал в конце выполнения скрипта...

поставил в php.ini, output_buffering = 0, и в начале скрипта закрываю сессию: session_write_close();

в чем тут трабл?
p.s.
в файл инфа добавляется теперь как надо, на каждой итерации.
 

keltanas

marty cats
Вот скажи, как ты полагаешь, при каких условиях refreshConsole() будет возвращать функцию, а при каких идентификатор интервала?
И зачем при получении данных выполнять POST запрос?
ЗЫЖ Прочитай хотя бы документацию по тем функциям, которые используешь. Есть же Флэнаган, есть Кантор. Неужели быстрее ждать ответа с форумов?
 

sanu0074

Новичок
И зачем при получении данных выполнять POST запрос?
да, это глупо, изначально я делал .load() - она делает get - запрос.. post - это потом уже лепил пытался чтото сделать...
ЗЫЖ Прочитай хотя бы документацию по тем функциям, которые используешь. Есть же Флэнаган, есть Кантор. Неужели быстрее ждать ответа с форумов?
Форум удобнее тем что здесь я могу получить ответ на решение проблемы конкретно в моем примере, найти подобный пример с такимиже действиями практически невозможно.. книга очень полезный инструмент в котором много инфы, ее нужно изучать вместе с форумами, по моему так лучше всего закрепить знания и применить их на каких либо собственных практических примерах, разве форум нужен не для помощи разрешения всяких задач?
 

keltanas

marty cats
это потом уже лепил пытался чтото сделать...
здесь я могу получить ответ на решение проблемы конкретно в моем примере
Вот в этом и беда, что ты не пытаешься понять, почему у тебя не работает? А ждешь, когда положат в рот готовое...
Вот скажи, как ты полагаешь, при каких условиях refreshConsole() будет возвращать функцию, а при каких идентификатор интервала?
Чтобы это значило, м?..
При том, что я надеюсь, ты понимаешь, что находится в $this?
 

sanu0074

Новичок
Вот в этом и беда, что ты не пытаешься понять, почему у тебя не работает?
Все сделал, работает теперь...
Но, почему все корректно работает только тогда, когда в методе addToConsole() есть пауза usleep() или sleep()?
Если паузы не делать то результат (содержимое файла console.txt) возвращается только после выполнения основного скрипта....
 
Сверху