Size: a a a

ioBroker smarthome

2020 September 30

i

instalator in ioBroker smarthome
Надо просто функцию запроса вынести в функцию и передаавать в нее нужный урл. А в колбеке проверять ответ, если 403 то сеттаймаут и вызов этой же функции. Все тупо и просто
источник

B

Blaze in ioBroker smarthome
instalator
Надо просто функцию запроса вынести в функцию и передаавать в нее нужный урл. А в колбеке проверять ответ, если 403 то сеттаймаут и вызов этой же функции. Все тупо и просто
и флажок, чтоб бесконечную рекурсию не сделать)
источник

i

instalator in ioBroker smarthome
Blaze
и флажок, чтоб бесконечную рекурсию не сделать)
Это уже детали)
источник

VH

Vod Home in ioBroker smarthome
это же так клево, когда у ближнего инстанс зависнет 😂
источник

B

Blaze in ioBroker smarthome
Vod Home
это же так клево, когда у ближнего инстанс зависнет 😂
console.log("123");
var waitTill = new Date(new Date().getTime() + 10 * 1000);
while(waitTill > new Date()){}
console.log("321");
источник

B

Blaze in ioBroker smarthome
немного говнокода вам))
источник

B

Blaze in ioBroker smarthome
100% загрузки одного ядра на 10 секунд, но цель достигнута
источник

VH

Vod Home in ioBroker smarthome
я об этом думал, там 50 мс хватит, придется заюзать если ничего другого не придумаю красивее (сессию редко обновлять надо) Спасибо за код)
источник

EA

Eugene Abramov in ioBroker smarthome
Vod Home
я просто "запрашивалку" хотел вынести в отдельную функцию, которой передаётся параметр, она проводит переговоры и возвращает ответ. Переговоры могут занять время. Но остальной скрипт не ждёт. Проще не объяснить без кода. Лапшой навертеть можно, но внутренний перфекционизм заставляет рефакторить на стадии написания)
если у тебя дальнейшее выполнение зависит от результата запроса, тебе придется ждать
источник

VH

Vod Home in ioBroker smarthome
просто триггеров много, при логике внутри таймаута нужно ещё передавать _какую_ логику использовать
источник

B

Blaze in ioBroker smarthome
Vod Home
я об этом думал, там 50 мс хватит, придется заюзать если ничего другого не придумаю красивее (сессию редко обновлять надо) Спасибо за код)
а не вариант внутрь цикла в моем коде вставить дрочево сервиса пока он не ответит? Будет запрашивать пока не будет успеха, или не кончится таймаут. и загрузка проца будет минимальная
источник

i

instalator in ioBroker smarthome
Eugene Abramov
если у тебя дальнейшее выполнение зависит от результата запроса, тебе придется ждать
Зачем ждать, в колбеке запроса вызывать функцию обработчик если код 200
источник

EA

Eugene Abramov in ioBroker smarthome
Vod Home
делаем запрос, получаем ответ (var) и этот ответ парсим.
setTimeout, ответ приходит через сек, всё это время var == undefined и парсинг умирает, потому что код парсинга не ждёт таймаут
за этим ждать. нет?
источник

VH

Vod Home in ioBroker smarthome
instalator
Зачем ждать, в колбеке запроса вызывать функцию обработчик если код 200
тоже вариант, нравится, спасибо)
источник

VH

Vod Home in ioBroker smarthome
просто оберточный код с миллионом колбеков становится нечитабельным(
источник

EA

Eugene Abramov in ioBroker smarthome
промисы можно посмотреть, если колбеки не нравятся
источник

VH

Vod Home in ioBroker smarthome
Eugene Abramov
промисы можно посмотреть, если колбеки не нравятся
вот с ними сейчас и играюсь
источник

B

Blaze in ioBroker smarthome
если очень хочется, бегло нагугливается несколько библиотек ноды, реализующие слип
источник

EA

Eugene Abramov in ioBroker smarthome
Vod Home
вот с ними сейчас и играюсь
но с ними тоже асинк/авейт нужен
источник

VH

Vod Home in ioBroker smarthome
Пока сердце успокоилось колбеками из таймеров, причем из блокли. Выяснилось, что радио глубоко чихать на сессию (нефиг было доку читать слишком много😂) С одной клавиши оппле вкл/выкл, переключение каналов по кругу и  громкость. Пока хорош) Спасибо всем кто помогал, говнокод слипа сохранил на всякий ))))
источник