Тема: JS SDK avl_resourse events
Подскажите пожалуйста по поводу событий в JS SDK.
При использовании события messageRegistered, данные в ресурсе ещё не поменялись.
Есть ли событие которое вызывается после обновления ресурса?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Подскажите пожалуйста по поводу событий в JS SDK.
При использовании события messageRegistered, данные в ресурсе ещё не поменялись.
Есть ли событие которое вызывается после обновления ресурса?
В данный момент в SDK нет события «какие-то поля item'а были изменены».
События приходят в /avl_evts массивом, среди которого могут быть изменения полей/регистрация сообщения/удаление сущности.
Регистрация сообщений никак не связана с изменениями полей и, в теории, сообщение, которое является причиной изменения некоторого поля, может прийти в avl_evts раньше (даже в другом запросе), чем придёт событие о том, что какое-то поле было изменено.
Поэтому лучше подписываться на все интересующие события change* и применять throttle/debounce, чтобы подождать, пока не обработаются все события изменения полей.
Если же всё-таки хочется именно после messageRegistered, то можно в обработчике события сделать:
session.addListenerOnce('serverUpdated', function() {
// ...
})
Событие serverUpdated возникает у объекта сессии в конце обработки avl_evts, поэтому когда будут применены все сообщения/изменения полей — вызовется ваш обработчик и данные ресурса уже будут изменены.
можете подсказать как удалить авто через js api wialon известен Id машины
можете подсказать как удалить авто через js api wialon известен Id машины
vinokurov.vick пишет:можете подсказать как удалить авто через js api wialon известен Id машины
ну это как я понял через Remote API, а вот через Js там тип woalon.core.Session.getInstance(). а вот как правильно дальше ни как не пойму и не найду
ну это как я понял через Remote API, а вот через Js там тип woalon.core.Session.getInstance(). а вот как правильно дальше ни как не пойму и не найду
Дальше deleteItem(item). Если id взялся «из воздуха», а не из объектов SDK, то можно фиктивный объект подать:
let session = wialon.core.Sesssion.getInstance();
session.deleteItem({ getId: function() { return 42; } });