@Freethinker said in Как добавить */ (звездочка слэш) в переменную?:
Хмм, сам код отрабатывает в BAS также корректно, однако если добавить действие "Установить переменную", то это вызовет проблему. Надо посмотреть по внимательнее
здесь не работает
это снипет
пробую сделать динамическую функцию
возможно надо как то компилировать
https://community.bablosoft.com/assets/uploads/files/1588434646807-p3-async.xml
TOSTER_ = function () {
log('pre')
sleep(400)!
var arg = _arguments()
const v1 = JSON.stringify(arg)
log(v1)
log('post')
_function_return({x: 1000})
}
@jason
_function_return не работает при вызове через _call()!, только при вызове через _call_function()!
Вообще у Вас вопрос был о том, что Вам мешает "!" . Раньше на него жаловались те, кто работает в IDE, так как IDE сыпала ошибками. Теперь по Вашей текущей проблеме :

нельзя просто так заменить прозрачно все
поэтому лучше не трогать
может вы знаете как можно динамически выполнить код?))
бас куда ни посмотри трабл,
на ютубе все гуд а когда начниаешь делать костыли.
у меня на typescript и babel transform настроил,
так что могу что угодно туда транспилировать
у меня не работает
немного изменил
надо откомпилировать наверное
VAR_HTTP_RESULT = 'function(){log("1");sleep("1000")' + '!' + '; log("2")} '
log('VAR_HTTP_RESULT: ' + VAR_HTTP_RESULT)
eval("curent_funct = " + VAR_HTTP_RESULT)
_call( curent_funct, null)!
[207850119] [07:30:43] Thread #1 : VAR_HTTP_RESULT: function(){log("1");sleep("1000")!; log("2")}
[207850119] [07:30:43] Thread #1 : SyntaxError: Parse error during execution of action 207850119
@jason
Изучая последний пример, заметил, что
VAR_HTTP_RESULT = 'function(){log("1");sleep("1000")! log("2")} '
Превращается в
function(){ log("1"); sleep("1000",function(){ log("2") })}
Это с одной стороны баг баса, что он автоматом преобразует свои асинхронные приколы в строку.
Но теперь совместными усилиями мы выяснили, что динамически будет работать такой код
VAR_HTTP_RESULT = 'function() { log("1"); sleep(1000, function(){ log("2") } ) }'
log('VAR_HTTP_RESULT: ' + VAR_HTTP_RESULT)
eval("curent_funct = " + VAR_HTTP_RESULT)
_call( curent_funct, null)!
@DrPrime said in поддержка javascript, правильно добавить !:
Это с одной стороны баг баса, что он автоматом преобразует свои асинхронные приколы в строку.
@support said in Подключение Js файлов к общему scope не нарушая зависимости и не ломая сам проект.:
Восклицательный знак в конце асинхронных функций - это небольшое расширение языка призванное избежать callback hell.
Например, такой код
sleep(1000)! log("Done")Будет преобразован в такой
sleep(1000, function(){ log("Done") })Если вызвать post("myurl",{})
То функция вернется мгновенно не дожидаясь окончания запроса.