4.15 ebook离线模式使用indexedDB存储电子书(blob对象)

一、浏览器application中的indexedDB使用

首先,了解同步和异步的区别
1、同步执行,就是“必须执行完"当前任务,才能执行下一个任务。若执行失败,则进程会锁死。
2、异步执行,就是允许多个任务同时运行。各自执行各自的方法。
.then()是异步方法,且是promise对象,即等待当前方法的前一个方法执行完,才会执行。执行方法是异步。
如果是同步方法,那么你处理一个1分钟的任务,你页面就得卡死1分钟。

上下文是什么?
对于代码中某个值来说,上下文是指这个值所在的局部(全局)作用域对象。
相对于进程而言,上下文就是进程执行时的环境,具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存(堆栈)信息等。

3、为何要使用indexedDB
首先cookie有效期短,且存于http请求中,容量小。直接pass。
虽然localstorage存储较大但是仍不够,而且无法建立索引,所以localstorage只适合资源的配置,比如(阅读器字体字号保存等等。)

接下来就是vue中的indexedDB的使用
先安装localforage (管理indexedDB的包)在这里插入图片描述
开始正式缓存图书。
1、建立download接口
在这里插入图片描述
2、调用download方法指定return为promise对象,
在加上进度百分比展示。以及国际化调用,组合如下。
在这里插入图片描述
控制台打印出效果如下。
在这里插入图片描述

耗时一下午+一晚上+ 早晨1个半钟头。将promise 与async await 以及create-api的入门级别操作吃透,至少程序运行畅通。看代码也能懂。行吧。博客就不写了,等哪天再次碰到了,我再次升华一下,理一理思路,然后一泻千里。

猜你喜欢

转载自blog.csdn.net/qq_40196738/article/details/89306567