2016-09-05 4 views
4

Я использую базу данных Realm.io в приложении React Native. У меня есть простая команда записи:React Native Realm database: Как вернуть обещание из команды записи?

Realm.write(() => { 
     Realm.create('Dog', { name: 'Bob'}, true); 
    }); 

    //Few lines below, make a query for the Bob the dog. 

Если операция записи по какой-то причине требуется более нескольких миллисекунд, как я могу убедиться, что, когда я запрашиваю для Боба собаки, я буду получать обновленный объект?

Есть ли способ для операции записи возвратить обещание или что-то подобное, поэтому я могу быть уверенным выполнить код только после успешного выполнения операции записи?

+1

Кажется, что операции выполняются мгновенно и последовательно. Хотя я не уверен. – abeikverdi

ответ

6

Realm является синхронно. All callbacks handed to #write are blocking, но это не такая уж большая проблема, как оптимизация для React Native. Тем не менее, the docs say

Записывать транзакции не требуются незначительные накладные расходы - вы должны архивировать свой код, чтобы свести к минимуму количество транзакций записи.

+0

Что было бы сделкой в ​​этом случае? Если я вызову три 'create' внутри' write', это означало бы три транзакции (три творения) или только одну (одну запись)? – Fermuch

+0

Я считаю, что это считается только одним. – worldlee78

Смежные вопросы