@ilyx, не знаю как ваш странный js код относится к API BAS, ну да ладно
var count = [[SEEDS]].length; var data = [ [[SEEDS]], [[PROXYS]], [[TWITTERS]], [[EMAILS]] ]; for(var i = 0; i < count; ++i){ var account = data.map(function(parts){ return parts[i] || ''; }); [[ACCOUNT]].push(account.join('|')); };Подвисает BAS из за асинхронных функций.
-
Javascript однопоточный. Один зависшая операция влияет на весь скрипт.
@DrPrime said in Подвисает BAS из за асинхронных функций.:
Решается добавлением микропаузы в 20- 100 мс в таких циклах.
Это как раз позволяет планировщику переключить задачу.
-
заметил тоже это если в асинхронку передавать большой массив в моём случае 90к+ элементов, хз как быть, просто не хотелось бы в асинхронке каждый раз читать и создавать массив, а хотелось бы запуске скрипта один раз создать и передавать в асинхронку, для моих нужд мне хватает версии 23.2.2, на более новых не пробовал проверить это
-
@genericname1 so I do not know how to solve this problem(
-
@ElTigre работайте через базу данных или даже через файл, скорей всего бас передает данные в асинхронные функции в формате json, поэтому и подвисает пока его в json и обратно гоняет.
Например вы можете записать этот список в файл со случайным именем и передать в функцию только имя файла, а в ней уже его прочитать и удалить. Костыль , но зато подписать не будет
-
@UserTrue у меня изначально читает ресурс в список, затем его в json перегоняет, но это до асинхронки происходит, а вот когда видать она запускается, виснет.
Щас по пробовал без передачи данных в асинхронку, а через глобальные переменные, так вот теперь бас виснет когда он из обычной переменной, Json массив записывает в глобальную переменную.(а если массив не такой большой, то всё ок)
Ещё пробовал каждый раз тупо читать в список в самой асинхронке и перегонять в Json, но мне это не нужно каждый раз делать при запуске асинхронки, т.к. это тратит определённое время каждый запуск функции, но при таком варианте всё работает. Только дольше отрабатывает функцию и за большого массива(
Вот даже щас в режиме записи бас повис записывая массив из обычной переменной в глобальную(