@gurkin4
Скачивание картинок нужно для решения капчи при авторизации. База картинок тоже есть. Логика решения капчи реализована на другом автокликере. Переношу решение на БАС
Не работает расширение против 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 всё должно работать.