方法返回的是诺言,而不是价值

时间:2019-07-09 11:22:29

标签: node.js reactjs npm promise

因此,我正在反应中使用不同的结构。 基本上,我正在尝试使用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(..)包装在匿名异步中。

0 个答案:

没有答案