使用angular2向indexedDB添加值时出错

使用angular2向indexedDB添加值时出错,angular,indexeddb,Angular,Indexeddb,我正在使用IndexedDB和Angular2。为此,我遵循下面的github链接 我正在创建这样的db,并像这样增加价值 ngOnInit(){ let db = new AngularIndexedDB('mydb', 1); db.createStore(1, (evt) => { let objectStore = evt.currentTarget.result.createObjectStore(

我正在使用IndexedDB和Angular2。为此,我遵循下面的github链接

我正在创建这样的db,并像这样增加价值

    ngOnInit(){

        let db = new AngularIndexedDB('mydb', 1);
        db.createStore(1, (evt) => {
            let objectStore = evt.currentTarget.result.createObjectStore(
                'Userdetails', { keyPath: "id", autoIncrement: true });

            objectStore.createIndex("name", "name", { unique: false });
            objectStore.createIndex("email", "email", { unique: true });

        });


db.add('Userdetails', { name: 'name', email: 'name@mail.com' }).then(() => {
    // Do something after the value was added
     console.log('fields added');
}, (error) => {
    console.log('error is'+error);
});

}
但在控制台中,我遇到了这样的错误。在查询数据库之前,需要使用createStore函数创建数据库


谁能告诉我我到底哪里做错了。我对这个angular2-indexeddb非常陌生。请帮帮我。

我想如果我读对了代码,你的
db.add
的代码会被提前解雇

如果你把它改成,它应该会工作

 db.createStore(1, (evt) => {
        let objectStore = evt.currentTarget.result.createObjectStore(
            'Userdetails', { keyPath: "id", autoIncrement: true });

        objectStore.createIndex("name", "name", { unique: false });
        objectStore.createIndex("email", "email", { unique: true });

}).then(() => {
    db.add('Userdetails', { name: 'name', email: 'name@mail.com' }).then(() => {
        // Do something after the value was added
        console.log('fields added');
    }, (error) => {
        console.log('error is'+error);
    });
});

如果我正确阅读代码,我认为您的
db.add
代码将被提前触发

如果你把它改成,它应该会工作

 db.createStore(1, (evt) => {
        let objectStore = evt.currentTarget.result.createObjectStore(
            'Userdetails', { keyPath: "id", autoIncrement: true });

        objectStore.createIndex("name", "name", { unique: false });
        objectStore.createIndex("email", "email", { unique: true });

}).then(() => {
    db.add('Userdetails', { name: 'name', email: 'name@mail.com' }).then(() => {
        // Do something after the value was added
        console.log('fields added');
    }, (error) => {
        console.log('error is'+error);
    });
});

非常感谢你,迪克·范登·布林克。这对我很有效。我犯了一个错误。非常感谢你@Dick van den Brink。这对我很有效,我犯了个错误。