2016-03-26 8 views
3

Ich verwende angular-indexedDB für indexedDB in AngularJS. Ich möchte einen Fehler erhalten, wenn die Einfügung nicht erfolgreich ist. Aber ich bekomme keinen Fehler, es kommt nur aus der Funktion heraus, wenn ich denselben Code zweimal ausführe, da ich den Namen eindeutig gemacht habe.Wie erhalte ich Fehler beim Einlegen in den Laden?

Fehler:

ConstraintError Rückkehr _this.store.add (item);

ConstraintError req = this.store.openCursor();

-Code:

angular.module('myModuleName') 
    .controller('myControllerName', function($scope, $indexedDB) { 

    $scope.objects = []; 

    $indexedDB.openStore('people', function(store){ 

     store.insert({"ssn": "444-444-222-111","name": "John Doe", "age": 57}).then(function(e){console.log('inside insert');}); 

     store.getAll().then(function(people) { 
     // Update scope 
     $scope.objects = people; 
     }); 
    }); 
}); 

Antwort

3

Ich denke, Hinzufügen von Fehler Rückruf innerhalb Versprechen .then sollte

arbeiten

auch eine getAll Methode tun erstellen, um alle Daten von objects abzurufen, dass response.data tun zu bekommen Daten vom Server zurückgegeben.

-Code

angular.module('myModuleName') 
    .controller('myControllerName', function($scope, $indexedDB) { 

    $scope.objects = []; 

    $scope.getAll = function(){ 
     store.getAll().then(function(response) { 
      // Update scope 
      $scope.objects = response.data; 
     }); 
    }; 
    $indexedDB.openStore('people', function(store){ 

     store.insert({"ssn": "444-444-222-111","name": "John Doe", "age": 57}) 
     .then(function(e){ 
      console.log('inside insert'); 
      //reload data only call get succeed 
      $scope.getAll(); 
     }, function(error){ 
      //do error handling stuff here 
      //you will get error returned from server here. 
      console.log('Error here', error) 
     }); 

    }); 
}); 
+0

Danke Pankaj, jetzt ich in der Lage bin, den Fehler zu erkennen, aber es kommt immer noch von der Funktion aus. Fehler hier = Eine Mutationsoperation in der Transaktion ist fehlgeschlagen, weil eine Einschränkung nicht erfüllt wurde. Zum Beispiel existiert bereits ein Objekt wie ein Objektspeicher oder ein Index, und es wurde versucht, einen neuen zu erstellen. ConstraintError \t return _this.store.add (Element); ConstraintError req = this.store.openCursor(); – jain

+0

@dilpeshjain haben Sie diesen Fehler auf der Serverseite nicht behandelt? –

+0

Mein Ziel ist es herauszufinden, ob dieser Eintrag bereits in der DB ist oder nicht, auf der Basis des Ergebnisses möchte ich einige Aufgaben durchführen. – jain

Verwandte Themen