2016-07-28 1 views
0

J'utilise Dexie dans mon application en ligne, et lorsque je tente d'insérer de nouvelles données dans ma base de données IndexedDB je reçois cette erreur: TypeError: Cannot set property 'onerror' of undefined(…)Dexie - TypeError: Impossible de définir la propriété « onerror » undefined (...)

Ceci est le code qui semble jeter l'erreur:

InsertApiLogs: function (Data) { 
      return DB.transaction('rw', DB.ApiLogs,() => { 
       DB.ApiLogs.clear().then(
        DB.ApiLogs.bulkPut(Data) 
       ); 
      }).catch(function (E) { 
       console.log(E); 
       return false; 
      }); 
     }, 

C'est là que je crée ma base de données:

var DB = new Dexie('local', {autoOpen: true}); 

DB.version(1).stores({ 
    Event: "EventId, Name, StartDate, EndDate, Description, OriginalUserId, DateCreated, IsArchived, IsRecurring, CreatedInGCal", 
    Pipeline: "PipelineId, Name, Image, DateCreated, DateArchived, Statuses", 
    ApiLogs: "APILogId, UserCode, FunctionName, Success, Error, Parameters, ReturnVal, Date", 
    MySelf: "Type, Data" 
}); 

Depuis que je suis en ajoutant des tables que je vais et je ne veux pas creat e de nombreuses versions de la base de données je l'ai fait ce qui suit pour nettoyer le DB:

var DB = new Dexie('local', {autoOpen: true}); 

DB.delete(); 

    DB.version(1).stores({ 
     Event: "EventId, Name, StartDate, EndDate, Description, OriginalUserId, DateCreated, IsArchived, IsRecurring, CreatedInGCal", 
     Pipeline: "PipelineId, Name, Image, DateCreated, DateArchived, Statuses", 
     ApiLogs: "APILogId, UserCode, FunctionName, Success, Error, Parameters, ReturnVal, Date", 
     MySelf: "Type, Data" 
    }); 

Je supprimé DB.delete() et rechargées. Je vous dis cela juste au cas où ce n'est pas une bonne pratique et pourrait avoir compromis mon état de DB.

Merci

Répondre

1

Le puis gestionnaire de DB.ApiLogs.clear() est manquant une expression de la flèche ou de la fonction.