[Persistence] Tweak logic

Tweak approach for revision conflict detection; particularly,
use .reject instead of throw to avoid logging of the failure
unnecessarily. WTD-1033.
This commit is contained in:
Victor Woeltjen
2015-03-20 15:53:40 -07:00
parent d8e1f69b37
commit b604af2aa7
2 changed files with 11 additions and 9 deletions

View File

@ -34,16 +34,18 @@ define(
return Object.keys(queue).length === lastObservedSize;
}
// Clear the active promise for a queue flush
function clearFlushPromise(value) {
flushPromise = undefined;
activeDefer.resolve(value);
return value;
}
// Persist all queued objects
function flush() {
// Persist all queued objects
flushPromise = handler.persist(queue, objects);
// When persisted, clear the active promise
flushPromise.then(function (value) {
flushPromise = undefined;
activeDefer.resolve(value);
});
flushPromise = handler.persist(queue, objects)
.then(clearFlushPromise, clearFlushPromise);
// Reset queue, etc.
queue = {};