Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2012, 14:36
Новичок на форуме
Отправить личное сообщение для sudimiy Посмотреть профиль Найти все сообщения от sudimiy
 
Регистрация: 24.02.2012
Сообщений: 4

реализовать многозадачность на странице
к примеру есть скрипт:

function hd_reg () {
    var coll = $("#howHDregs").val();
    var category = $("#select_category").val();
    document.check = false;
    for (var i = 1; i<=coll; i++){
        $.ajax({
            url: "reg/test.php",
            async: false,
            type: "POST",
            data: {scategory:category},
            success: function(data) {
                var date = new Date();
                $("#textlogframe").prepend(date.getHours()+':'+date.getMinutes()+' - '+data+'\n');
                document.check = data;
            }
        });
    }
    return document.check;
}


подобных задач несколько на странице, при запуске 100 итераций на выполнении скрипта уходит порядка 3 часов, скрипт reg/test.php невозможно запустить многопоточно, необходимо дожидаться результата выполнения, скрипт прекрасно выполняется если ставить "async: false", но при синхронном выполнении скрипта вешается страница и запустить что либо еще не представляется возможным, а запускать нужно, суть проблемы в том что нужно заставить дожидаться ответа от сервера выполнения скрипта reg/test.php при асинхронных запросах, либо решить проблему с подвисанием страницы на запуске скрипта синхронно , не будет ли подвисать родительская страница если результаты выполнения и сам скрипт запускать синхронно во фреймах.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2012, 16:03
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну дак а что мешает послять асинхронный запрос получить ответ обработать его послать след. или использовать web workers?
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2012, 17:11
Новичок на форуме
Отправить личное сообщение для sudimiy Посмотреть профиль Найти все сообщения от sudimiy
 
Регистрация: 24.02.2012
Сообщений: 4

Сообщение от dmitriymar Посмотреть сообщение
ну дак а что мешает послять асинхронный запрос получить ответ обработать его послать след. или использовать web workers?
в цикле for это не возможно либо я не знаю это реализовать сначала яваскрипт прогоняет весь цикл все итерации и запускает одновременно все итерации если ставлю 1000 итераций то аякс запускает 1000 потоков выполнения test.php
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2012, 17:15
Новичок на форуме
Отправить личное сообщение для sudimiy Посмотреть профиль Найти все сообщения от sudimiy
 
Регистрация: 24.02.2012
Сообщений: 4

Про web workers слышу в первый раз есть где почитать ?
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2012, 17:48
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

var send = function ( count ) {
     $.ajax({
            url: "reg/test.php",
            async: false,
            type: "POST",
            data: {scategory:category},
            success: function(data) {
                var date = new Date();
                $("#textlogframe").prepend(date.getHours()+':'+date.getMinutes()+' - '+data+'\n');
                if ( --count ) send( count );
            }
        });
};
send(coll);
Ответить с цитированием
  #6 (permalink)  
Старый 01.03.2012, 10:42
Новичок на форуме
Отправить личное сообщение для sudimiy Посмотреть профиль Найти все сообщения от sudimiy
 
Регистрация: 24.02.2012
Сообщений: 4

решил проблему с помощью workers большое спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать отключения JS кода через админку ? lamer Серверные языки и технологии 4 08.02.2012 17:23
Не выполняется скрипт на подгружаемой странице AlThar ExtJS 1 21.01.2011 15:10
Как реализовать? Fliand Элементы интерфейса 4 22.08.2009 19:47
Закрепить скрипт на странице! Tveretina Я не знаю javascript 2 28.05.2009 05:02
Ссылка на якорь на странице во фрейме niculins Общие вопросы Javascript 2 24.09.2008 12:23