hye huys, мне нужна помощь для удаления и обновления с помощью pouchdb. поскольку теперь данные о создании и чтении могут работать. просто удалить и обновить пока не работают. это моя база данных
application.service('Database', ['$q', '$window',
function($q, $window)
{
var db = new $window.PouchDB('web-sample');
this.delete = function(documentId, documentRev, options)
{
return $q.when(db.delete(documentId, documentRev, options));
};
this.get = function(documentId)
{
return $q.when(db.get(documentId));
};
}
]);
и это моя услуга
application.service('Arrears', ['$q', 'Database',
function($q, Database)
{
this.remove = function(documentId, documentRev, options)
{
return Database.delete(documentId, documentRev, options);
};
this.update = function()
{
return Database.update()
};
}
]);
это мой контроллер.
application.controller('ArrearsManagementReadAllController', ['$location', '$mdSidenav', '$routeParams', '$scope', 'arrears',
function($location, $mdSidenav, $routeParams, $scope, arrears)
{
$scope.arrears = arrears;
$scope.remove = function(id)
{
$location.path('/arrears_management/all');
};
var arrears = {
owner_name: '',
owner_id: '',
account_no: '',
title_no: '',
address: '',
house_no: '',
floor: '',
lot: '',
block: '',
locality: '',
total_outstanding: '',
last_receipt_no: '',
last_pay_date: '',
last_paid_amount: '',
};
var actions = {};
actions.submit = function(arrears)
{
Arrears.update(arrears).
then(function(response)
{
$location.path('/arrears_management/all');
});
};
}]);
если вы все знаете, как решить мои проблемы, прокомментируйте. благодаря
При попытке удалить конфликт может возникнуть, поэтому может потребоваться повторная попытка удаления, но при использовании рекурсивного вызова используйте счетчик для заданного количества попыток, а затем выведите ошибку, поймав результат, если он не может удалить по какой-либо причине кроме конфликта.
Аналогично, при попытке обновления вам нужно сначала получить последнюю версию документа перед тем, как попытаться поставить. Снова вам нужно обрабатывать конфликты, такие как ошибки 404 и 409. Если вы попробуете 404 попытку удаления ревизии перед повторной попыткой. С 409 просто повторите попытку. Опять же, если использовать рекурсивный вызов, вероятно, лучше всего сделать определенное количество попыток, а затем выбросить ошибку для других условий и поймать результат.