Size: a a a

ioBroker smarthome

2020 September 30

i

instalator in ioBroker smarthome
Eugene Abramov
тогда может понадобится try catch, т.к. у тебя хост не доступен и реквест не проходит и будет ошибка не ответа сервера, а недоступности хоста. хотя этот не точно
Там в пакете наверняка есть обертка
источник

B

Blaze in ioBroker smarthome
instalator
Тебе от него только код ответа нужен и в колбеке проверяй его успешно не успешно, try...catch можешь убрать
ага, примерно сделал. спасибо, буду тестить.
источник

VH

Vod Home in ioBroker smarthome
моск уже кипит 😖
await может быть только в обертке в виде async функции. Т.е. в "main" я могу только на триггер вешать функцию, а она уже как обертка позволит делать sleep. Всё правильно?
источник

АК

Алексей Кравец... in ioBroker smarthome
Вся прелесть async\await))
источник

VH

Vod Home in ioBroker smarthome
Есть веб-радио, у которого надо первым запросом запросить сессию, потом подождать 100 мс пока оно прочухается и только потом можно слать команды с этой сессией. На триггер кнопки вкл вешаем функцию и уже в этой обертке реализуем sleep(100)?
источник

VH

Vod Home in ioBroker smarthome
это не прелесть, это оберточный язык 🤣 Про блокли реально можно забыть тогда, я надеялся туда прикрутить sleep в виде фунции на чистом жс, но видимо не судьба)
источник

VH

Vod Home in ioBroker smarthome
как вариант написать на православном баше и дёргать exec-ом, но это реально дендрофекальное строительство(
источник

EA

Eugene Abramov in ioBroker smarthome
а задача какая? iob должен делать куда-то запрос или iob должен отвечать на запрос из вне?
источник

VH

Vod Home in ioBroker smarthome
Eugene Abramov
а задача какая? iob должен делать куда-то запрос или iob должен отвечать на запрос из вне?
иоб только дергает урлы и читает ответы. Просто иногда ответ 403 и надо немножко подождать и повторить запрос
источник

VH

Vod Home in ioBroker smarthome
отвечать он ничего не должен
источник

EA

Eugene Abramov in ioBroker smarthome
Vod Home
Вопрос к знатокам nodejs webserver, на котором бежит иоб... Где надо покрутить, чтобы получить урл для запроса, который будет отвечать "задумчиво"? Например ip:8081/delay1s который через 1сек выдаст 200 ок. На пхп 1 строчка, а в этом сервере я не разбираюсь)
просто я тогда не уловил суть этого вопроса. думал нужно чтобы иоб отвечал на запрос.
источник

VH

Vod Home in ioBroker smarthome
Eugene Abramov
просто я тогда не уловил суть этого вопроса. думал нужно чтобы иоб отвечал на запрос.
не, это задумывался костыль для эмуляции sleep, но жс беспощаден и не ждёт никого)
источник

В

Вадим in ioBroker smarthome
Vod Home
Есть веб-радио, у которого надо первым запросом запросить сессию, потом подождать 100 мс пока оно прочухается и только потом можно слать команды с этой сессией. На триггер кнопки вкл вешаем функцию и уже в этой обертке реализуем sleep(100)?
А чем setTimeout(функция, мс)  не подходит?
источник

EA

Eugene Abramov in ioBroker smarthome
вот я только хотел написать)
источник

VH

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

EA

Eugene Abramov in ioBroker smarthome
парсинг в функцию таймаута, а не вне неё
источник

i

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

i

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

B

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

VH

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