Действие 'Post запрос' не возвращает результат через изменение переменных, чтобы получить ответ, вам нужно вызвать действие 'Текущий Url', 'Содержание ответа', 'Статус ответа' или 'Получить заголовок' после выполнения запроса.
alt text
После того как сайт мне отдаёт список юзеров в формате Json, я получаю от туда список нужных мне исключая не подходящие страны действием "Получить все значения" модуля Json, получается просто огромная строчка вида
$.html[?(@.country_name != "India" && @.country_name != "Philippines" && @.country_name != "Indonesia" && @.country_name != "Bangladesh" && @.country_name != "Pakistan" && @.country_name != "Serbia" && @.country_name != "South Africa" && @.country_name != "Algeria" && @.country_name != "Sri Lanka")].user_id
Такое действие очень сильно нагружает бас и он подвисает если я запускаю больше 100 потоков при этом сам проц вроде работает на 40-50% хотя если измерять время выполнения действий то это действие тоже будет самым затратным для цп, а таких в скрипте 4 штуки.
По логике я понимаю что это вроде как цикл перебора по этому он так много подвешивает ресурсов, но каким образом можно это же действие упростить. Может если через действие "выполнить код" и там добавить задержки между каждым действием внутри самого цикла перебора
$.html[?(["India", "Philippines"].indexOf(@.country_name) < 0)].user_id
@Oyasumi-Punpun
Именно в таком ввиде почему-то не работает возвращает пустую строчку, а моё выражение выше возвращает список. Изначальный формат такой
{"html":[{"user_id":"201259371","sex":"male","nickname":"GoldnShFan","country_code":"ch","country_name":"Switzerland","state":"","age":"51","vip":"1"},{"user_id":"2344793","sex":"female","nickname":"Sponsored","country_code":"us","country_name":"United States","state":"","age":"25","vip":"0"},{"user_id":"201150957","sex":"female","nickname":"patriciazm","country_code":"us","country_name":"United States","state":"","age":"19","vip":"0"},{"user_id":"201151326","sex":"female","nickname":"nancypv","country_code":"us","country_name":"United States","state":"","age":"24","vip":"0"}
по моему запросу возвращает 201259371, 2344793, 201150957 ну и т.д
по вашему почему то просто пустая переменная
@Oyasumi-Punpun
Если вот так сделать
$.html[?(["India"].indexOf(@.country_name) < 0)].user_id
То возвращает нормально, если через запятую начать прописывать еще условия то выдаёт пустую переменную
@Oyasumi-Punpun
Я может как то не так перечисляю странны и не тот массив создаю. Но вот посмотрите видео. Первый вариант я просто создаю переменную с одной странной всё нормально, во втором делаю список и всё уже 0. Как будто он ищет чтобы там было совпадение по всем странам сразу в одном пункте. Пробовал ставить вместо string - expression Но там вообще ошибка сразу красная. Пример
@defol ночью проверял в BAS. Есть баг в самом движке модуля, не совсем корректно обрабатывает массивы внутри фильтров. Буду править позже. Пока, как временное решение, могу предложить вам два плюс-минус адекватных варианта.
$.html[?("India:Philippines:Switzerland:Russia".split(":").indexOf(@.country_name) < 0)].user_id
Выполнить код:var excluded = ["India", "Russia", "Philippines"];
[[RESULT]] = JSON.parse([[SOURCE]]).html.filter(function (val) {
return excluded.indexOf(val['country_name']) < 0;
}).map(function (val) {
return val['user_id'];
});