видимо проблема сейчас после if в двигать мышь и кликнуть на элемент
var data = {fail:false,wait:true};data["scroll"] = "no scroll" == "scroll";data["threshold"] = parseInt(80);data["timeout"] = 5000;data["data"] = "iVBORw0KGgoAAAANSUhEUgAAAMEAAAAeBAMAAABnBGdVAAAALVBMVEUAWv/V5P////+cv/9Chf+Qt/+81P/k7v+Crv/y9/+nxv/5+/9dlv/F2f9zpf8aFseGAAABB0lEQVR4Ae2SsUoDQRCG58ixbHHFXhCsHcHG5kilaJFG5j1EMIepwqFgtYWNbGWEEGGtfQBBzm4LC/MkvoazupWphEkT9msGrvi/m38HMpnMfxg2a5/O0qxVJyDQT2sp5bWoQd32GzbQdAHl7NAqPABCr5+xJ+Rgh3tChhN7OaZO+SvrThfQfr6H9oN3qB5h1MgYanDNvf1pZtABTV6BLn5bWskY+F/JHIc4QSHiZAnFTjSUM5QxxFSfDAXn6WSo5kZoBzKg31JLyrMhtTTw3J6IIYbffBm9bANNH8Ad8UuHmg19NZcx7I75nO7Sta5wn6/Vw4iXOccXI3NLf+B32DDbYMhktphvXodGRgltnEgAAAAASUVORK5CYII=";_wait_image(data)!
_if(typeof _Idle != "undefined", function(){
_Idle.emulate({useGeneral: true, target: _image()})!
})!
_if_else(typeof _Idle != "undefined" && _Idle.additionalEmulationEnabled(), function(){
_Idle.moveAndClickOn(_image(),{holdCtrl: false, clickType: "left", wait: false, moveSettings: {} })!
}, function(){
_image().random_point()!
_if(_result().length > 0, function(){
move( {} )!
_image().clarify(X,Y)!
_call(_clarify, {} )!
mouse(X,Y)!
})!
})!
Экшен "Выполнить код" не работает асинхронно
-
Функция БАС включается асинхронно. В ней лежит функция js в "Выполнить код". После нее бесконечный цикл while, в котором к функции js обращаюсь через действо "Установить переменную".
Если "Выполнить код" до цикла, то функцию не видит, пишет "ReferenceError: Can't find variable: optionCalc"
Если внутри цикла, то просто наглухо виснет.
В однопотоке отлично работает.
Могу приложить код, но он сильно здоровый -
@Viktor said in Экшен "Выполнить код" не работает асинхронно:
Функция БАС включается асинхронно. В ней лежит функция js в "Выполнить код". После нее бесконечный цикл while, в котором к функции js обращаюсь через действо "Установить переменную".
Если "Выполнить код" до цикла, то функцию не видит, пишет "ReferenceError: Can't find variable: optionCalc"
Если внутри цикла, то просто наглухо виснет.
В однопотоке отлично работает.
Могу приложить код, но он сильно здоровыйСкорее всего проблема в области видимости переменных объявленных в действии "выполнить код", используйте переменные BAS (вместо "optionCalc") если не понимаете о чём я говорю
-
@Viktor said in Экшен "Выполнить код" не работает асинхронно:
@Fox так дело ж в том, что optionCalc это не переменная, а та самая функция объявленная в "Выполнить код". Его просто не видно внутри цикла, мне кажется. Но если внутрь цикла поместить, то виснет. Очень странно
брр.. если вы знакомы с js, то проведите эксперемент с разными способами объявить переменную и блин сразу увидите область видимости. Если вкратце, то замените строку
function optionCalc () { }на
optionCalc = function () { } -
@Viktor said in Экшен "Выполнить код" не работает асинхронно:
@Fox попробовал так объявить. Наглухо виснет сразу.
На этом наши полномочия всё (c)
-
@Viktor said in Экшен "Выполнить код" не работает асинхронно:
:DВопрос ни разу не сложный и саппорт точно его не заметит. Официальной поддержки на форуме нет, но каждый почему то считает должным привлечь внимания саппорта к своей проблеме.@Viktor said in Экшен "Выполнить код" не работает асинхронно:
прикладываю тестовый скрипт с воспроизведением ошибки
конкретно в тестовом скрипте просто виснет
proba1.xmlУ вас цикл while без паузы, это повешает BAS само по себе. А с паузой всё работает корректно:


-