Как в вебинтерфейсе выводить постоянно результат потока?
-
@Jhon said in Как в вебинтерфейсе выводить постоянно результат потока?:
@Fox Он получается передает все данные, а как получать только последнее значение, строку?
Чегось? Вы сейчас про пользовательские события, про кастомную функцию Log или вообще про vue js?
-
@Fox Я про проект, который Вы прислали, а именно этот код:
created() { var self = this /////Обработчик событий api Api.SetEventHandler(function (EventType, EventData) { if (EventType == "result") { var TabNumber = EventData["number"] Api.DownloadResult(TabNumber).then((res) => { self.ParseResult = res }) } }) Api.AcceptResources(true) }Кастомный лог не работает, не ловит его веб интерфейс.
-
@Jhon said in Как в вебинтерфейсе выводить постоянно результат потока?:
@Fox Я про проект, который Вы прислали, а именно этот код:
created() { var self = this /////Обработчик событий api Api.SetEventHandler(function (EventType, EventData) { if (EventType == "result") { var TabNumber = EventData["number"] Api.DownloadResult(TabNumber).then((res) => { self.ParseResult = res }) } }) Api.AcceptResources(true) }Кастомный лог не работает, не ловит его веб интерфейс.
Парсите данные в массив по переносу строки
\nи получайте последний элемент массива -
@Jhon said in Как в вебинтерфейсе выводить постоянно результат потока?:
@UserTrue Можете подсказать где пор это API или код?
Я имел ввиду через addEventListener , с телефона было лень писать )
-
@Jhon said in Как в вебинтерфейсе выводить постоянно результат потока?:
@Fox Решение рабочее, но за сутки создает очень большой файл, это в итоге же приведет к замедлению, верно?
Скорее всего да, можно конечно вылечить побайтовым чтением файла, но смысл? Передавать данные через парсинг текста лога или через пользовательские события, как предложил @UserTrue в разы проще ведь
-
@Jhon said in Как в вебинтерфейсе выводить постоянно результат потока?:
@Fox Не работает решение UserTrue, писал выше, как только не пробовал, не ловит!
Если нет опыта работы с пользовательскими событиями, используйте способ, который я рекомендовал ранее. Из скрипта передавайте данные через обычное действие "лог" с какой нибудь приставкой

а уже в коде проверяйте наличие этой приставки в тексте сообщения
if(EventType == "log"){ if(EventData["text"].indexOf("сообщение для интерфейса: ") > -1) { var message = EventData["text"].split("сообщение для интерфейса: ")[1] } }