StorIO наблюдать за изменениями в таблице, могу ли я получить обновленные строки / элементы с ним?
В StorIOSQLite есть интересный метод наблюдений ChangesInTable(). И когда я увидел его, я подумал, что он будет наблюдать изменения в данной таблице и возвращать список обновленных элементов.
Но он просто возвращает обновленное имя таблицы. Зачем мне нужно обновленное имя таблицы? Я могу просто подписаться на таблицу дыр, чтобы получать уведомления об обновлении
storIoSqLite.get()
.listOfObjects(Item.class)
.withQuery(
Query.builder()
.table(ItemTable.NAME)
.build()
)
.prepare()
.asRxObservable()
Пожалуйста, объясните, в чем смысл метода наблюдающих за изменением (). И что является лучшим решением для моей проблемы.
1 ответ
С вашим подходом вы на самом деле делаете query
в БД и только потом реагирует на изменения.
С StorIOSQLite.observeChangesInTable()
Вы можете реагировать на изменения в таблице, не делая никаких queries
в БД Это намного дешевле и должно использоваться в ситуациях, когда вам нужно сделать debounce()
или же window()
, filter()
и т.д. query
в БД
Надеюсь, это поможет!