@Q_Q К сожалению через node.js и ws модуль не могу конектится к сокету т.к там каждый раз создаётся уникальная ссылка для нового пользователя, а объект который её создаёт определить для меня трудно сайт написан на react + obfurscator. Плюс к этому ещё и в самом ws внутри нужно каждые 5 минут отправлять токен аутентификации который генерирует какая-то анонимная функция либо вообще на сервере. Вроде ещё как можно сделать обёртку или сделать прокси чтобы свои обработчики повесить но это уже вообще темный лес для меня недостижимый. Поэтому пришлось использовать такой костыль. В Принципе все работает, ws команды я отправляю также через Ява скрипт и взаимодействую с этим сайтом быстро не используя веб интерфейс сайта вообще. Единственная проблема это видеть всю консоль не только в режиме отладчика. Я думал может в BAS есть какой-то свой способ о котором я не знаю, просто парсить ее в переменную бесконечно каждый раз обращаясь к ней и записывая последнее действие по умолчанию
Глобальный массив или объект
-
В инструментах ресурс - удалить последний элемент. При этом ресурс должен быть настроен и на запись.
-
@olegar said in Глобальный массив или объект:
Есть ли способ работать с глобальным массивом или объектом? В "списке" написано для этих целей использовать ресурс. Добавить элемент в ресурс можно, а вот удалить его оттуда нет (или я не понял как).
самое простое это переводить локальную переменную в глобальную и обратно
-
@olegar said in Глобальный массив или объект:
@Fox не годится, если 2 или 5 потоков одновременно проделают данную операцию будет каша.
Перезаписывать глобальную переменную нельзяКаши не будет, используйте поиск по форуму, тему уже несколько раз обсуждали. Я даже приводил в пример тесты в 100 потоков одновременной работы с объектом в глобальной переменной
-
@olegar у меня для этого существует еще одна глобальная переменная-селектор, в которую записывается номер потока-хозяина, через секунду поток проверяет, если его номер прописан в переменной, то он работает со списком, а остальные ждут освобождение селектора.
Знаю коряво, но может кто подскажет аналог "критических секций", как в си, для js? -
@Vituskosoy said in Глобальный массив или объект:
@olegar у меня для этого существует еще одна глобальная переменная-селектор, в которую записывается номер потока-хозяина, через секунду поток проверяет, если его номер прописан в переменной, то он работает со списком, а остальные ждут освобождение селектора.
Знаю коряво, но может кто подскажет аналог "критических секций", как в си, для js?Поищите по форуму примеры реализации блокировки потоков при работе с буфером обмена. Кстати для критической секции планируется добавить отдельное действие, но внутри оно будет работать так же, через глобальную переменную.
Глобальные переменные перезаписываются по очереди, архитектура BAS не позволит переписать одновременно двум потокам одну глобальную переменную, что бы получилась каша (как например с одновременной записью в файл без ресурсов)