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

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

09.01.2011, 19:48. Показов 2024. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru