2016-07-28 76 views
0

我使用Dexie在我的离线应用程序,当我尝试在我的IndexedDB的数据库中插入新的数据我得到这个错误:TypeError: Cannot set property 'onerror' of undefined(…)Dexie - 类型错误:未定义(...)无法设置属性“的onerror”

这是一个似乎是引发错误的代码:

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; 
      }); 
     }, 

这是我创造我的数据库:

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" 
}); 

自从我加入表作为我去,我不想科瑞Ë许多数据库的版本我做了以下清理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" 
    }); 

然后我删除DB.delete()并重新加载。我只是告诉你,以防万一,这不是好的做法,可能会危及我的数据库状态。

由于

回答

1

然后DB.ApiLogs.clear()处理程序已丢失的箭头或函数表达式。

相关问题