diff --git a/zy-AST-原理+babel安装/AST-原理+babel安装.md b/zy-AST-原理+babel安装/AST-原理+babel安装.md index f713f80..af7002a 100644 --- a/zy-AST-原理+babel安装/AST-原理+babel安装.md +++ b/zy-AST-原理+babel安装/AST-原理+babel安装.md @@ -241,4 +241,8 @@ Babel 手册 a ayf { code: 'var a = "ayf";', map: null, rawMappings: undefined } - var a = "ayf"; \ No newline at end of file + var a = "ayf"; + +babel-types + + https://www.babeljs.cn/docs/babel-types \ No newline at end of file diff --git a/zy-多线程调试worker/index.html b/zy-多线程调试worker/index.html new file mode 100644 index 0000000..9147aff --- /dev/null +++ b/zy-多线程调试worker/index.html @@ -0,0 +1,11 @@ + + + + + + 测试 + + + + + \ No newline at end of file diff --git a/zy-多线程调试worker/main.js b/zy-多线程调试worker/main.js new file mode 100644 index 0000000..ebdc0a9 --- /dev/null +++ b/zy-多线程调试worker/main.js @@ -0,0 +1,3 @@ +console.log(111); +var worker = new Worker('work.js'); +worker.postMessage('ayf'); diff --git a/zy-多线程调试worker/work.js b/zy-多线程调试worker/work.js new file mode 100644 index 0000000..1626ac8 --- /dev/null +++ b/zy-多线程调试worker/work.js @@ -0,0 +1,4 @@ +console.log(self); +self.addEventListener('message', function (e) { + console.log('You said: ' + e.data); +}, false); diff --git a/zy-多线程调试worker/多线程调试worker.md b/zy-多线程调试worker/多线程调试worker.md new file mode 100644 index 0000000..982d3f4 --- /dev/null +++ b/zy-多线程调试worker/多线程调试worker.md @@ -0,0 +1,35 @@ +## 多线程 + +如何开启线程 + + console.log(111); + var worker = new Worker('work.js'); + +线程与线程传值问题 + + worker.postMessage('ayf'); + + 接收 + + console.log(self); + self.addEventListener('message', function (e) { + console.log('You said: ' + e.data); + }, false); + +拿到返回的子线程返回数据 + + self.onmessage = function (e) { + var uInt8Array = e.data; + postMessage('Inside worker.js: uInt8Array.toString() = ' + uInt8Array.toString()); + postMessage('Inside worker.js: uInt8Array.byteLength = ' + uInt8Array.byteLength); + }; + +得到几个关键词 + + 主线程 Worker onmessage postMessage + 子线程 self onmessage postMessage + +经过案例,我发现能通过搜索的上面的关键词快速的定位 + +主线程不能直接调用子线程的方法 +