Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61

Как ограничить количество выполняемых функций?

09.01.2011, 19:48. Показов 2060. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую
Есть такая функция:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function func(param,i){
 
    $.ajax(
        {
            url: 'func.php?param=' + param,
            dataType: 'text',
            success: 
                function(data,textStatus){
                    data.length ? $('#f_' + i).html(data) : $('#f_' + i).html('N/A');
                },
            error:
                function(){
                    $('#f_' + i).html('<font color="red">Ошибка</font>');
                }
        }
    );
 
}
она стоит в цикле for от 0 до 5000.
Соответственно при таких раскладах браузер виснет.
Возможно ли сделать так, чтобы прошло допустим 10 циклов и застыло до окончания выполнения функций? потом снова 10 и так далее?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2011, 19:48
Ответы с готовыми решениями:

Как ограничить время выполнения функции и реализовать добавление новых функций
Есть код, поочерёдно вызывающий функции на равный промежуток времени, но функции бесконечные и их ограниченное количество новых функций ...

Как ограничить количество в MySQL
Доброго времени суток. Есть 2 таблицы, как пример. Таблица 1.(Тип издания) Название (Каждое уникально) Тип (Базовый или Эксклюзив)...

Как ограничить количество подключений к БД AbsoluteDatabase
Привет Всем! Подскажите пожалуйста, как ограничить количество подключений к БД AbsoluteDatabase? Дело в том, что как при создании базы (в...

4
 Аватар для ILA
68 / 61 / 11
Регистрация: 10.08.2009
Сообщений: 226
10.01.2011, 09:43
Может стОит добавить параметр запроса async: false ?
Тогда запросы будут идти синхронно и выполняться друг за другом, а не параллельно.
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 11:58  [ТС]
Задача в том, чтобы 10 штук шло асинхронно, потом ожидание, пока завершиться один из них, как только завершился, тогда запускается новая функция и так далее.
0
 Аватар для ILA
68 / 61 / 11
Регистрация: 10.08.2009
Сообщений: 226
10.01.2011, 14:06
Тады наверное в функции func(param,i) сделать увеличение глобального счетчика перед вызовом запроса.
А по-окончании работы запроса - уменьшение. А в цикле проверять счетчик и ждать запускать новую функцию только при счетчике ниже 10.
1
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 14:23  [ТС]
Решил таким образом
JavaScript
1
var syncr = Array(true, true, true, true, true, true, true, true, true, true);
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
           for(var e=0;e<makk.length;e++){
                key = true;
        while (key) {
            for (var s = 0; s < syncr.length; s++) {
                if (syncr[s]) {
                    syncr[s] = false;
                    key = false;
                    func(makk[e], (e + 1));
                    break;
                }
            }
        }
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function func(param, i){
 
    $.ajax(
        {
            url: 'func.php?param=' + param,
            dataType: 'text',
            success: 
                function(data,textStatus){
                    data.length ? $('#f_' + i).html(data) : $('#f_' + i).html('N/A');
                    for (var s = 0; s < syncr.length; s++) {
                        if (!syncr[s]) {
                            syncr[s] = true;
                            break;
                        }
                    }
                },
            error:
                function(){
                    $('#f_' + i).html('<font color="red">Ошибка</font>');
                }
        }
    );
 
}
Скрипт работает, но с проблемой: каждые 3-5 сек высвечивается сообщение:
Сценарий, исполняемый на этой странице, возможно занят или не отвечает. Вы можете остановить его сейчас или продолжить и посмотреть сможет ли он завершить свою работу.
И "Продолжить" или "Остановить". Если каждый раз нажимаю продолжить, то результат положительный. Но ведь это же не дело.
Может кто-то что-то подскажет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2011, 14:23
Помогаю со студенческими работами здесь

Как ограничить количество членов списка
есть объект возвращающий заполняемый список List. В некоторых случаях количество членов списка безгранично, а в некоторых нет. Как указать...

Как ограничить количество цветов в изображении
Доброго времени суток уважаемые пользователи киберфорума! Подскажите пожалуйста как реализовать такую штуку Мне нужно в цветной...

Как в подзапросе ограничить количество записей?
Например select id from nametable1 where titleId in (select id from nametable2 where abc&gt;5 limit 10);Только limit не работает. Видимо...

Как ограничить количество выводимых строк?
Подскажите, как ограничеть количество выводимых строк? Например мне надо вывести 10 самых дешевых продуктов.

Как ограничить количество страниц в пагинаторк
Всем привет. Подскажите пожалуйста, как в пагинаторе при большом количестве страниц лишние страниы скрывать за троеточием: 1 ... 23 24...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru