Я использую пакет realm@2.14.2
в электронном приложении.
Обычно, когда приложение запускается, я вызываю addListener
для Realm.Collection
объекта и Realm.Results
объекта.
Обратный вызов, предоставленный этим addListener
методам, обновит пользовательский интерфейс.Таким образом, когда область обновляется, вызываются обратные вызовы и обновляется пользовательский интерфейс.
В Mac OS это работает правильно.
Однако в Windows обратные вызовы не вызываются.
Методом проб и ошибок я обнаружил, что эта проблема не наблюдается из-за задержки между добавлением двух слушателей.
Таким образом, обратные вызовы не будут вызываться, если я сделаю что-то вродеследующее
Realm.objects('car').filtered('conditions').addListener(...);
Realm.objects('car').addListener(...);
Но обратные вызовы вызываются, если я делаю что-то вроде следующего.
Realm.objects('car').filtered('conditions').addListener(...);
setTimeout(() => {
Realm.objects('car').addListener(...);
}, 1000);
Мне было интересно, сталкивался ли кто-то еще с этой проблемой или как ее отладить.