Delta -pouch プラグインをAngularJS アプリのPouchDBセットアップで動作させようとしています。
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 にまったく慣れていないので、自分が何をしているのか完全にはわかりません。どんな助けでも大歓迎です。