一、indexedDB:
参考:https://www.cnblogs.com/zry2510/p/6297000.html
二、多线程 Web Worker:https://www.jianshu.com/p/5606c919e4dd 或 http://www.ruanyifeng.com/blog/2018/07/web-worker.html
js创建一个子 线程,子线程 执行完程序(一般都是复杂的计算,放在子线程中),返回一个结果给主线程。
var worker = new Worker('work.js');
1、主线程:
a、Worker()
构造函数的参数是一个脚本文件,该文件就是 Worker 线程所要执行的任务。由于 Worker 不能读取本地文件,所以这个脚本必须来自网络。
b、主线程调用worker.postMessage()
方法,向 Worker 发消息。
c、主线程通过worker.onmessage
指定监听函数,接收子线程发回来的消息。
d、主进程 关闭 Worker 线程:
worker.terminate();
2、Worker 线程(子线程):
a、子线程监听 message 事件:
self.addEventListener('message', function (e) { self.postMessage('You said: ' + e.data); }, false);
b、子线程向主线程发送消息 self.postMessage()。
c、子进程内 关闭自身 worker 线程:
self.close();
三、