【发布时间】:2021-02-05 01:15:54
【问题描述】:
我在让 where() 语句在 Dexie 中工作时遇到了一些麻烦。我尝试使用 where 会导致以下错误:
console.warn node_modules/dexie/dist/dexie.js:1273 未处理的拒绝:TypeError:无法读取未定义的属性“绑定” 在 makeIDBKeyRange (node_modules/dexie/src/dbcore/dbcore-indexeddb.ts:112:21) 在 node_modules/dexie/src/dbcore/dbcore-indexeddb.ts:314:31 ...这是我使用的代码:
从“dexie”导入 Dexie; // @ts-ignore 没有虚假 indexeddb 的类型 从'fake-indexeddb'导入indexedDB; 类 TestDatabase 扩展 Dexie { 构造函数(){ 超级(“测试”); this.version(1).stores({ 数据:“身份证,姓名” }); } } test("dexie", async ()=>{ Dexie.dependencies.indexedDB = indexedDB; const db = new TestDatabase(); 等待 db.table("data").put({id: "x", name: "xname"}); const x=await db.table("data").get("x"); 期望 (x.name).toEqual("xname"); const x2=await db.table("data").where("id").equals("x").toArray() 期望 (x2[0].name).toEqual("xname"); })测试似乎在调用 toArray() 时失败。我怎样才能让这个测试通过?
【问题讨论】:
-
尝试删除
.toArray()看起来是为了传递回调。
标签: typescript indexeddb dexie