因此,我正在反应中使用不同的结构。
基本上,我正在尝试使用indexedDB
使我的应用脱机工作,而无需编写大量代码。这就是为什么我将代码包装在类中。现在我的静态方法正在返回一个promise,我不明白为什么
note = IndexDB.get("tablename", "noteId");
问题在于此笔记正在返回承诺。但是从IndexDB取得收益并没有兑现承诺。但是是异步的,正在等待两种方法。
JavaScript :
export default class IndexDB{
static async get(table, key){
let indexDb = await IndexDB.ini(); // creates the connection if it dosent exists
if(indexDb){
let result = await indexDb.getValue(table, key);
return result;
}
}
}
getValue(table, key){
return new Promise((resolve, reject)=>{
let objectStore = this.con.transaction(table, "readonly").objectStore(table);
const req = objectStore.get(key);
req.onsuccess = e => {
resolve(e.target.result);
}
req.onerror = e =>{
resolve(false);
}
});
}
现在我已经尝试同时升级 npm,react 和 node 。
我还尝试过将get方法中的所有内容包装在新的promise中,并将IndexDB.get(..)
包装在匿名异步中。