видимо проблема сейчас после 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)!
})!
})!
Не работает расширение против callback hell через комментарий /*async!*/
-
Помнится ранее в темах обсуждалось что
!и/*async!*/это синонимы с версии 16, что очень удобно для редактирования кода в IDE без красных простыней:
https://community.bablosoft.com/topic/792/расширение-против-callback-hell/22
https://community.bablosoft.com/topic/10824/поддержка-javascript-правильно-добавитьПопробовал на своем коде и это не работает.
Например проект с одним действием выполнить код в котором одна строкаload("google.com")/*async!*/или
sleep(1000)/*async!*/Выдает ошибку
Thread #1 : Callback is empty. Did you forget to use '!' after function?Т.е. в данном случае не сработало расширение и не подставило коллбэк функцию.
Либо я что то неправильно делаю, либо комментарий/*async!*/
был заменен на какой то другой либо вообще выпилен из актуальных версий. Т.к. доступа к исходникам сейчас не имею, прошу подсказать может кто то в курсе про эту тему либо это баг. -
@totorid814 said in Не работает расширение против callback hell через комментарий /*async!*/:
Помнится ранее в темах обсуждалось что
!и/*async!*/это синонимы с версии 16, что очень удобно для редактирования кода в IDE без красных простыней:
https://community.bablosoft.com/topic/792/расширение-против-callback-hell/22
https://community.bablosoft.com/topic/10824/поддержка-javascript-правильно-добавитьПопробовал на своем коде и это не работает.
Например проект с одним действием выполнить код в котором одна строкаload("google.com")/*async!*/или
sleep(1000)/*async!*/Выдает ошибку
Thread #1 : Callback is empty. Did you forget to use '!' after function?Т.е. в данном случае не сработало расширение и не подставило коллбэк функцию.
Либо я что то неправильно делаю, либо комментарий/*async!*/
был заменен на какой то другой либо вообще выпилен из актуальных версий. Т.к. доступа к исходникам сейчас не имею, прошу подсказать может кто то в курсе про эту тему либо это баг.Процитирую разработчика:
Писать такой код крайне не рекомендуется. Под "такой" я имею ввиду писать код целиком с использованием внутренних расширений БАС. Это приводило не раз и приведет в вашем случае к ошибкам, которые очень трудно выловить и исправить.так как ни до кого не доходит с первого раза, у меня есть ещё один ответ разработчика по этому вопросу:
Я могу только повторить. Писать используя данный функционал не рекомендуется. Это неизбежно приведет к ошибкам, которые редко повторяются и исправляться поддержкой не будут. Если нужно писать код на js, используйте node.js -
Писать такой код крайне не рекомендуется. Под "такой" я имею ввиду писать код целиком с использованием внутренних расширений БАС. Это приводило не раз и приведет в вашем случае к ошибкам, которые очень трудно выловить и исправить.Это понятно, никто не собирается весь код писать на JS. Но ранее обсуждалось что
/*async!*/это эквивалент!Если смотреть исходники здесь https://github.com/bablosoft/BAS/blob/955f5a41bd004bcdd7d19725df6ab229b911c09f/Engine/preprocessor.cpp то так оно и есть, эта строка кода делает это:
Res = Res.replace(")/*async!*/",")!");но на гитхабе они не обновлялись уже несколько лет, и как сейчас там дела обстоят непонятно. В новостях по всем релизам не нашел информации что это было выпилено, поэтому и спрашиваю.
Вопрос простой эта возможность выпилена из BAS на данный момент или же изменена? Можно как то получить доступ к текущим исходникам preprocessor.cpp не покупая платную версию?
-
@totorid814 said in Не работает расширение против callback hell через комментарий /*async!*/:
preprocessor.cpp
Там есть строка Res = Res.replace(")/async!/",")!");
Но это вроде не работает, весь код не читал ибо не надо ))) -
@totorid814 said in Не работает расширение против callback hell через комментарий /*async!*/:
Res = Res.replace(")/*async!*/",")!");Данная строка была удалена из кода в апреле этого года, с версиями до 22.6.0 всё должно работать.