我的代码如下:
var indexedDB = window.msIndexedDB; adsageIDB = {}; adsageIDB.db = null; adsageIDB.onerror = function (e) { console.log(e); }; adsageIDB.open = function () { var request = indexedDB.open("adsageIDB", 1); request.onsuccess = function (evt) { adsageIDB.db = evt.target.result; var db = adsageIDB.db; if (db.objectStoreNames.contains("todo")) { db.deleteObjectStore("todo"); } var store = db.createObjectStore("todo",{ keyPath: "adsid" }); }; request.onerror = function (evt) { console.log("Database error code:" + evt.target.errorCode); }; }
环境是win8下的 javascript metro app,运行后 adsageIDB.db 一直为空,请问是哪儿写的有问题?
adsageIDB.open()执行了吗?没有看到调用代码呀
调用了,在其他方法中调用的
谢谢你的回复,找到原因了,是onsuccess 这个方法是异步的,没有执行导致的