Size: a a a

ioBroker smarthome

2020 October 17

АК

Алексей Кравец... in ioBroker smarthome
Один я не понимаю прикола, в асинхронном коде указывать, что функция асинхронная, смахивает на бред
источник

EA

Eugene Abramov in ioBroker smarthome
ну я натыкался на много статей про это. не всё полностью понятно на 100%, но понял то, что если функция требует время для выполнения, например загрузка данных из сети, то js запустит её в фоне и продолжит выполнние кода. если код требует данные, которые не загружены, то ошибка. чтобы дождаться загрузки данных, а потом продолжить выполнение, используется async/await. в общем там всё сложно. нас выгонят, если тут начнём разбираться)
источник

EA

Eugene Abramov in ioBroker smarthome
и, синхронный и асинхронный у js не совсем то, чем оно является)
источник
2020 October 18

B

Bluefox in ioBroker smarthome
Eugene Abramov
async указывает, что функция будет асинхронной. внутри такой функции можно использовать await. await "заставляет" ожидать выполнения кода.
Ну вот что бы до конца понять, как это работает, надо понять promises... Как по другому объяснить, я не знаю. Async/await это всего лишь синтаксический сахар для промизов
источник

EA

Eugene Abramov in ioBroker smarthome
Bluefox
Ну вот что бы до конца понять, как это работает, надо понять promises... Как по другому объяснить, я не знаю. Async/await это всего лишь синтаксический сахар для промизов
ну да, я об этом читал. тут непонятно, или вернее трудно воспринимается что есть синхронный и асинхронный код, то как он исполняется JSом) и что все эти promises, async/await тянется оттуда.
источник

ОБ

Олег Боровков... in ioBroker smarthome
Подскажите пожалуйста, как лучше строить временнОй график по паре метрик и отправлять результат в виде картинки почтой или в телеграм?
источник

ПЦ

Павел Цытович... in ioBroker smarthome
Алексей Кравец
Один я не понимаю прикола, в асинхронном коде указывать, что функция асинхронная, смахивает на бред
Функция обозначается асинхронной, чтобы дать понимание разработчику, что она будет работать не как обычная функция, т.е. последовательно от и до, а то, что когда мы укажем await управление будет передано другому участку кода JS
источник

P

Palko in ioBroker smarthome
Рецептов много, я когда то использовал график из sql и скриншотил через phantomjs
источник

АК

Алексей Кравец... in ioBroker smarthome
Павел Цытович
Функция обозначается асинхронной, чтобы дать понимание разработчику, что она будет работать не как обычная функция, т.е. последовательно от и до, а то, что когда мы укажем await управление будет передано другому участку кода JS
В js функции последовательно не выполняются, это вы пример из линейных яп привели.
источник

ПЦ

Павел Цытович... in ioBroker smarthome
Алексей Кравец
В js функции последовательно не выполняются, это вы пример из линейных яп привели.
JS аналогичен линейным языкам касаемо функций. А вот наличие promise делает его асинхронным. А await это, действительно, сахарок
источник

АК

Алексей Кравец... in ioBroker smarthome
Олег Боровков
Подскажите пожалуйста, как лучше строить временнОй график по паре метрик и отправлять результат в виде картинки почтой или в телеграм?
В ИОБ несколько драйверов для построения графиков встроенно, плюс можно сторонние использовать. Само изображение можно к примеру через fantomjs скриншотить, как выше написали
источник

АК

Алексей Кравец... in ioBroker smarthome
Павел Цытович
JS аналогичен линейным языкам касаемо функций. А вот наличие promise делает его асинхронным. А await это, действительно, сахарок
Да вот нифига, надо кучу костылей сделать, чтоб следующая функция дождалась выполнения предыдущей. И тому тут куча примеров
источник

ПЦ

Павел Цытович... in ioBroker smarthome
Алексей Кравец
Да вот нифига, надо кучу костылей сделать, чтоб следующая функция дождалась выполнения предыдущей. И тому тут куча примеров
В моем примере имелось ввиду, что если вы вызываете функцию она отрабатывает последовательно и может вызывать другие функции и пока вы не вернете управление другая функция работать не будет
источник

AA

Andrey Anopov in ioBroker smarthome
Павел Цытович
В моем примере имелось ввиду, что если вы вызываете функцию она отрабатывает последовательно и может вызывать другие функции и пока вы не вернете управление другая функция работать не будет
А почему колбэка простого недостаточно?
источник

АК

Алексей Кравец... in ioBroker smarthome
Павел Цытович
В моем примере имелось ввиду, что если вы вызываете функцию она отрабатывает последовательно и может вызывать другие функции и пока вы не вернете управление другая функция работать не будет
Ну а я вам говорю что так не работает, у меня лично есть код который вызывает функцию получения данных с урл, возвращает их в основной код и потом результат передавался в следующую функцию. И вот без магии, во вторую функцию всегда летела пустота
источник

ПЦ

Павел Цытович... in ioBroker smarthome
Andrey Anopov
А почему колбэка простого недостаточно?
это вопрос архитектуры.
источник

АК

Алексей Кравец... in ioBroker smarthome
Andrey Anopov
А почему колбэка простого недостаточно?
Вот и говорю, что надо костыли, типа колбека
источник

ПЦ

Павел Цытович... in ioBroker smarthome
источник

ПЦ

Павел Цытович... in ioBroker smarthome
здесь детально изложено как все устроено
источник

EA

Eugene Abramov in ioBroker smarthome
источник