Я пытаюсь заставить плагин delta-pouch работать с моим PouchDB в моем приложении AngularJS.
Мой сервис данных в Angular выглядит следующим образом:
myApp.factory('DataService', ['$q', '$rootScope', 'PouchDB', function($q, $rootScope, PouchDB) {
return {
add: function(doc) {
var deferred = $q.defer();
PouchDB.post(doc, function(err, res) {
$rootScope.$apply(function() {
if (err) {
deferred.reject(err)
} else {
deferred.resolve(res)
}
});
});
return deferred.promise;
},
list: function() {
var deferred = $q.defer();
return PouchDB.allDocs({include_docs: true, descending: true}, function(err, res) {
$rootScope.$apply(function() {
if (err) {
deferred.reject(err)
} else {
deferred.resolve(res)
}
});
});
return deferred.promise;
},
update: function(obj) {
var deferred = $q.defer();
return PouchDB.save(obj, function(err, res) {
$rootScope.$apply(function() {
if (err) {
deferred.reject(err)
} else {
deferred.resolve(res)
}
});
});
return deferred.promise;
},
get: function(id) {
return PouchDB.get(id);
},
destroy: function() {
PouchDB.destroy();
}
}
}]);
list
и add
работают нормально, но вызов save
возвращает следующую ошибку. Это
Error: 'undefined' is not a constructor (evaluating 'new Promise(function (fulfill) {
db.post(doc).then(function (doc) {
fulfill(doc);
});
})')
Честно говоря, я не совсем уверен, что делаю, так как я новичок в Angular. Любая помощь будет оценена по достоинству.