В первом примере получаем данные "по-старинке" - с выгрузкой в файл и чтением оттуда
Всё работает как надо.
Код: Выделить всё
:global FuncSunriseNew1 do={
:do {
/tool fetch url="https://api.sunrise-sunset.org/json?lat=$1&lng=$2" mode=https keep-result=yes dst-path="sr.txt"} on-error={:return "ERROR"}
:delay 2s;
:local srise [/file get sr.txt contents]
/file remove sr.txt
:log info [:len $srise]
:return $srise}
:log warning [$FuncSunriseNew1 "56.5312" "38.5209"]
Код: Выделить всё
:global FuncSunriseNew2 do={
:do { :local srise [/tool fetch url=("https://api.sunrise-sunset.org/json\?lat=$1&lng=$2") mode=https as-value output=user]
} on-error={:local srise; :return "ERROR"}
:log info [:len $srise]
:return ($srise->"data")}
:log warning [$FuncSunriseNew2 "56.5312" "38.5209"]
Если же использовать FuncSunriseNew2 без обертки в обработчик ошибок:
Код: Выделить всё
:global FuncSunriseNew2 do={
:local srise [/tool fetch url=("https://api.sunrise-sunset.org/json\?lat=$1&lng=$2") mode=https as-value output=user]
:log info [:len $srise]
:return ($srise->"data")}
:log warning [$FuncSunriseNew2 "56.5312" "38.5209"]
В чём проблема ? Что не так ? Какого ... as-value вариант /tool fetch так себя ведёт ? Опять ошибка Микротиковских разрабов или я не прав ?