@rvk1986 said in Вызов cookies:
24f17fbb-3725-4b9f-9910-2d201e26e8c2-image.png
Ну судя по данным на скриншоте всё верно и всё работает.
Хочу делать гет запрос из js, но проблема в том, что код продолжает выполняться не дожидаясь ответа пробовал вот так
function http_get(){
http_client_get2('https://...../,{method:("GET"),headers:("")})!
};
_call(http_get,null)!
Пробовал через await, но ругается, что нет такой переменной, наверное можно через node, но не хочется.
@DrPrime Я с самого начала так и сделал, но дело в том, что код js который идет после запроса выполняется не дожидаясь результат запроса. Может это связанно с этим что он у меня в цикл выполняется? Попробовал без цикла и все ок.
@DrPrime Вот пример
for (i=0;i<3;i++){
http_client_get2('https://ya.ru',{method:("GET"),headers:("")})!
SAVED_CONTENT= http_client_encoded_content("auto");
log(i)
}
log('Конец цикла')
Тупо после запроса переходит на следующую итерацию, а то что ниже в цикле пропускает.
В этот примере счетчик i ни разу не выводит в лог. А делает 3 запроса, а потом выводит "Конец цикла"
Все разобрался не знал, что с асинхронными функциями нельзя использовать обычный if и циклы for, while. for заменил на _do и все как надо работает
_do(function () {
if (_iterator() > 3) {
_break();
}
http_client_get2('https://ya.ru',{method:("GET"),headers:("")})!
SAVED_CONTENT= http_client_encoded_content("auto");
log(_iterator())
})!
log('Конец цикла');
Еще столкнулся с одной бедой. Переменные которые до циклов определяю. Например
var test='10'; В циклах потом не видны ReferenceError: Can't find variable.
@bigorat Такая то да работает, а если возможность js переменные использовать?
Просто переменные больше нигде использоваться не будут, а скрипт и так огромный с множеством переменных и не хочется без необходимости их плодить.
@Denis_krsk
Объявление с var - это локальная переменная. У нее ограниченая область видимости.
Объявляйте просто без var. Ну и по неписанным правилам програмированния глобальные переменные всегда пишутся в верхнем регистре.
Пример
TEST = 'Текст'
//В другом блоке выполнить код
log(TEST)
@DrPrime Читал, что как раз наоборот var задает глобальную переменную, а локальную создает let. И что в JS большими буквами принято называть константы.
А в новом стандарте JS (при использовании директивы 'use strict') var обязательно.
Но все таки решил попробовать и
не работает TEST = 'Текст', только так VAR_TEST = 'Текст'. Видимо одному @support известно как тут можно поступить :)
Видимо не по JS ^)
@Denis_krsk
https://learn.javascript.ru/function-basics
Обьявляя с var - они видны только в рамках одной функции, тоесть в выполнить код.
В следующем блоке они будут не видны.
В бас используется интерпретатор js от qt, который еще впроде не поддерживает новые стандарты с фишками с типом данных в переменных и т.д.