Try using "Template" action and construct your text with hyerlinks than paste it to page.
Other option is to create simple LOCAL html page somewhere on your hard disk with
desired text and links, than open that local html page in another tab in BAS and than copy
from that tab to the tab where you are working.
Несколько get-запросов в одном коде
-
В коде никак не могу прописать сразу несколько запросов через http-клиент одновременно. Беда с этими асинхронными функциями...
Скрипт будет однопоточный, так что функционал таков, что делать запросы можно, однако ж всё равно проходит только первый. Второй выполняется и скрипт вылетает. Что в одном блоке кода, что если разнести по разным блокам.
Мои действия:
Вызов первый:switch_http_client_main() http_client_get2('https://vk.com/select_ajax.php?act=a_get_countries',{method:("GET"),headers:("")})! VAR_SAVED_CONTENT = http_client_encoded_content("auto")Вызов второй чуть ниже:
_switch_http_client_main() http_client_get2('https://vk.com/select_ajax.php?act=a_get_cities&country='+country+'&str=$$$***',{method:("GET"),headers:("")})! var content = http_client_encoded_content("auto")После второго вызова приходит правильный ответ, что видно по анализатору http-траффика, но весь скрипт падает, никакие отладки не помогают - скрипт крашится ещё до того, как успеваю глянуть в [[LAST_ERROR]].
Пробовал оборачивать асинхронные действия в конструкцию типа
_if(true, function(){ _call(Вызов http и get-запрос)! })!Но такая конструкция не верна, так как ничего не возвращает.
Куда копать? Кому удалось запустить в исходном коде запросы?
-
_if(true, function(){ http_client_get2(....)! })! -
@uraabk да, переписал код, и у меня заработало. Оказывается, проблема была не в вызовах, а совсем в другой части кода. Ругался на то, что я делаю вызво в цикле с условием if:
var country_search = asf.res("country") if (country_search == "Search by cityes"){ _if(true, function(){ _switch_http_client_main() http_client_get2('https://vk.com/select_ajax.php?act=a_get_cities&country='+country_id+'&str=$$$***',{method:("GET"),headers:("")})! VAR_CITYES = http_client_encoded_content("auto") })! }Вытащил вызов за пределы цикла - вуаля, всё работает.
Кто-нибудь знает почему так?
-
@pragmatik Я Вам даже скажу, что и этот Ваш код неверный
да, переписал код, и у меня заработало. Оказывается, проблема была не в вызовах, а совсем в другой части кода. Ругался на то, что я делаю вызво в цикле с условием if:
var country_search = asf.res("country") if (country_search == "Search by cityes"){ _if(true, function(){ _switch_http_client_main() http_client_get2('https://vk.com/select_ajax.php?act=a_get_cities&country='+country_id+'&str=$$$***',{method:("GET"),headers:("")})! VAR_CITYES = http_client_encoded_content("auto") })! }Вытащил вызов за пределы цикла - вуаля, всё работает.
Кто-нибудь знает почему так?
в простом if нельзя вызывать асинхронную функцию БАС
-
@pragmatik Проще наверное ответить "потому что" ))) Просто даже если писать на чистом js, то результат будет такой же, чтобы работать с асинхронными вызовами там и существуют калбеки, промисы, генераторы и наконец await/async. В бас же реализован свой api с которым и надо работать, тк этого его внутренние функции и использовать с ними например промисы не получится.
