@somik said in BAS стал прожорливее:
"запретить запросы"
*.jpg
*.jpeg
*.png
*.gif
Это не для всех сайтов подходит, некоторые пытаются бесконечно грузить их и становится еще хуже )
При пустом ресурсе выдает ошибку Все данные были обработаны для ...
При более внимательном рассмотрении выяснилось что баг не в методе.
if(RMap("TEST").length()>0){
var arr={{TEST}}
};
Если убрать строку которая берет данные из ресурса, то ошибки нет.
А проблема вот в чем
RS("TEST", true, false)!
RESOURCE_220967 = _result().get()
if(RMap("TEST").length()>0){
var arr=RESOURCE_220967.split(':');
};
BAS записывает чтение данных из ресурса в самом начале блока, до условия.
Переписал примерно так
_if(RMap("TEST").length()>0,function(){
RS("TEST", true, false)!
RESOURCE_220967 = _result().get();
var arr=RESOURCE_220967;
})!;
@Denis_krsk А разве баг пишется не Bug? :D
Метод верно возвращает 0
log(RMap("test").length())
Условие тоже срабатывает верно и без ошибок:
if(RMap("test").length()>0){
log("Сработал ИФ")
}else log("Не сработал ИФ")
Проблема в строке
var arr={{TEST}}
Зачем использовать костыль, когда есть метод
//Вернуть список, который содержит все элементы из ресурса.
toList()
Следующий код работает так как тебе нужно было изначально:
if(RMap("test").length()>0){
var arr = RMap("test").toList()
log("Сработал ИФ")
}else log("Не сработал ИФ")
Работает без багов и костылей. Вот тестовый скрипт.
@Denis_krsk Ух и любишь ты чистый JavaScript:D