Open
Description
ok found that $rootScope.$apply
is being called.
notify: (args...) ->
$rootScope.$apply =>
@q.notify(args...)
and let's take a quick look at upsert
:
upsert: (data) ->
@_arrayOperation data, (item) =>
@store.put(item)
turns out that all array operations are using notify
.
_arrayOperation: (data, mapFunc) ->
defer = @defer()
data = [data] unless angular.isArray(data)
for item in data
req = mapFunc(item)
results = []
defer.rejectWith(req)
req.onsuccess = (e) ->
results.push(e.target.result)
defer.notify(e.target.result)
defer.resolve(results) if results.length >= data.length
if data.length == 0
return $q.when([])
defer.promise