老师看看这个

老师看看这个

<!DOCTYPE html>

<html lang="en">


<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>

<!DOCTYPE html>

<html lang="en">


<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>


<body>

<script>

//数据库

var dba = indexedDB.open("sss",13);

dba.onupgradeneeded = function () {

var tbl = dba.result;

// tbl.createObjectStore("test3",{autoIncrement:true});

var index = tbl.createObjectStore("index", { keyPath: "id" });

//创建索引

index.createIndex("index", "name", { unique: false });

}

var json = [{

"id": 1001,

"name": "zyc1",

"age": 18

}, {

"id": 1002,

"name": "zyc2",

"age": 18

}, {

"id": 1003,

"name": "zyc3",

"age": 18

}]

setTimeout(function () {

var db = dba.result;

var transcation = db.transaction("index", "readwrite");

var data = transcation.objectStore("index");

for (var i = 0; i < json.length; i++) {

data.add(json[i]);

}

}, 3000)

</script>

</body>


</html>


<body>


</body>


</html>

老是出现这种   

Uncaught DOMException: Failed to read the 'result' property from 'IDBRequest': The request has not finished.


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
慕侠97781 2020-07-26 10:11:00

同学、我们记住indexedDB.open()这个方法是异步的,用它的时候要加定时器就好了。老师没有出现在着个情况,可能老师没有演示添加那么多result~

好帮手慕久久 2020-07-25 18:47:01

同学你好,老师测试你的代码,没有出现“Uncaught DOMException: Failed to read the 'result' property from 'IDBRequest': The request has not finished.”这个报错信息,不过当把定时器去掉时,则会出现同学的报错:

http://img1.sycdn.imooc.com//climg/5f1c0d8b09a106ff05540195.jpg

报错信息的意思是:从“IDBRequest”中,不能正确读取“result”属性,因为请求还没有完成,报错位置如下:

http://img1.sycdn.imooc.com//climg/5f1c0d9509bd2d9505540460.jpg

原因是“ indexedDB.open()”这个方法是异步的,当执行“var db = dba.result;”时,可能“indexedDB.open()”还没有执行完,所以无法获取“result”。

建议同学参考如上,看下自己的代码是不是此处报错,如果是的话,就适当增大延时时间。

祝学习愉快!

  • 提问者 慕标5156652 #1
    是此处出错 还有我发现 xxx.result 越多 可能“indexedDB.open()”还没有执行完的时间越长
    2020-07-25 19:21:09
  • 提问者 慕标5156652 #2
    还有就是 我的延长时间比视频里面的还长(我都延长十秒了) 和老师的代码也是一样的 为什么我出现这个 而视频里面没有出现
    2020-07-25 19:23:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师