Модули. Других вариантов нет, в BAS даже пространство имен глобальное в рамках потока, а ты хочешь классы.
Фигу нам с тобой, а не классы, обойдемся.
Цель
Текущая задача
Пожалуйста, подскажите, есть ли ошибки? Если да, то какие?
_if(true, function(){
_switch_http_client_main()
new_http_client() // HTTP-Client Reset
http_client_set_header("User-Agent", {{userAgent}}) // Install User-Agent
http_client_set_header("Referer", {{referer}}) // Install Referer
VAR_METHOD = "GET" // Request Method
http_client_get2({{url}},{method:(VAR_METHOD),headers:("")})!
VAR_SERVER_RESPONSE = http_client_encoded_content("auto")
VAR_STATUS_CODE = http_client_status()
})!
// Debug
log("User-Agent: " + {{userAgent}})
log("Referer: " + {{referer}})
log("Request URL: " + {{url}})
log("Request Method: " + VAR_METHOD)
log("Status Code: " + VAR_STATUS_CODE)
Существует ли документацию по API?
@sazhin Документации нет почти, есть старый список API на гитхабе https://github.com/bablosoft/BAS/blob/master/Engine/text/apilist.txt . И вот в этой теме на форуме разработчик немого помогал в теме асинхронных вызовов https://community.bablosoft.com/topic/701/поочередное-выполнение-функций/4
Ну а так там немало подводных камней.
@sazhin said in Использование «чистого» кода:
http_client_get2
Лайкак Лайфхак никогда не используйте геты или посты в коде если у вас это дело обернуто в функции. Резулт вам может не понравится. Вообще по возможности выносите это их в стандартные кубики, всю подготовку провести в коде, а запрос стандартный, Конечно получается не 1 код, а три кубика, но так меньше непонятных косяков)). это так моя имха и я ее никому не навязываю.
@tts9 Просто надо уметь работать с асинхроном в БАС и не будет проблем. У меня есть огромные скрипты полностью в выполнить код и разумеется на запросах. Я даже свою обертку написал, чтобы удобней было )))
@tts9 said in Использование «чистого» кода:
@usertrue said in Использование «чистого» кода:
Я даже свою обертку написал,
=)
У меня тоже, только человек спрашивает, как и что. Я и указал первое с чем он столкнется. в этом коде.
Я ему дал ссылку на тему, там саппорт все объяснил, если разберется то ни с чем не столкнется. Там только бывают траблы с фигурными скобками {{TEXT}} лучше так ресурсы не писать в выполнить код, в некоторых случаях выдает ошибку.
@ls5stream said in Использование «чистого» кода:
@tts9 Можно аргументировать ответ? "Многим не удобно". Каким образом это может быть удобнее? Это как юзать блокнот для верстки сайта, когда можно юзать конструкторы для, как минимум, создания и стилизации кнопок и т.д., в чем плюсы?
Если бы вы хоть немного имели опыт программирования вы бы так не думали. На чистом коде гораздо легче организовать очень сложную логику, которая на кубиках превратится просто в АД.
@faleev Влияет, но так же влияет на его работоспособность. Очень легко можно получить вместо "чистого кода" и быстрого скрипта, а главное легкого. Кучу непонятных багов и ошибок с которыми бороться вам придется самому. А ошибки могут быть самые разные, от _c.break[undefinded] до вылетов самого баса, не краха потока, а краха всего баса и/или забивания памяти. Именно по этому советов как это сделать так мало. Это слишком неоднозначный путь. Обертка делается просто стандартное апи баса заворачивается в свои функции. Вот и вся обертка. Они иногда слишком длинные и долго набирать.
@faleev https://community.bablosoft.com/topic/8661/предложение-по-улучшению-редактора-кода-node-js
Почитай, я полностью перешел с "чистого кода" на кубики, из за того, что скорость в многопотоке на коде уступает раз в 10, а то и в 100 обычным кубикам. Напиши на запросах простейшей шаблон на кубиках и на коде и сравни скорость. Мне как программисту своя обертка на коде в 100 раз лучше чем кубики, но этот косяк со скоростью работы в многопотоке вынудил уйти на кубики, к сожалению
@serrgo а вот тут приходит на помощь курл https://www.dropbox.com/sh/54kii8r85e5y5qt/AADujFuoeSw0ps4_43750rmsa?dl=0
@artihorror Я правильно понимаю что эта курс обертка будет быстрее встроенного в бас http клиента, если его вызывать из кода многопоточно?
@serrgo said in Использование «чистого» кода:
@artihorror Я правильно понимаю что эта курс обертка будет быстрее встроенного в бас http клиента, если его вызывать из кода многопоточно?
Вряд ли будит быстрей, а чем вас не устраивает БАСа клиент? Он достаточно быстрый. Я писал скрипты на запросах совсем без БАС, скорость примерно одинаковая.
@serrgo да, она немного быстрее чем кубик, но разница не особо заметна, ну либо мне так кажется. По крайней мере в многопотоке не проседает 100%, но лично я предпочитаю использовать кубики относительно запросов, ибо какой тогда смысл в бас если все делать через код)