Настройка обратного вызова после фиксации транзакции

Я пытаюсь добиться чего-то, что, я думаю, имеет простой ответ, но почему-то я не могу найти его, читая исходный код ember- данные.

Я хочу инициировать действие после фиксации определенного набора изменений в хранилище данных. Вот мой текущий код:

var transaction = App.store.transaction();
user = App.get('currentUser');
transaction.add(user);
user.set('name', "Michael Jackson");
transaction.commit();
App.navigate('dashboard');

Моя первая попытка состояла в том, чтобы добавить наблюдателя к свойству isDirtyэтого пользователя, но а) это не кажется идиоматичным и, что более важно, б) мне пришлось бы вручную удалить этого наблюдателя в конце - это подвержено ошибкам, если, например, какое-то исключение возникает между ними и не удаляется.

Есть идеи? Как бы вы это сделали?

8
задан Bill the Lizard 18 February 2014 в 03:15
поделиться