js文件
// worker2.js function fb(n){ return n<3 ? 1 : fb(n-1)+fb(n-2) } onmessage = function(event){ // console.log(event) let n = event.data // 参数n let r = `n=${n}的斐波那契数列值:${fb(n)}` console.log(r) this.postMessage(r) // 向主线程发消息 }
HTML 代码
<button id="btn3">点我随机异步计算斐波那契数列值</button> <div id="div"></div> <script> // 先创建 Worker let worker = new Worker('worker2.js') // 监听worker的onmessage,获取发过来的消息 worker.onmessage = function(event){ let p = document.createElement('p') // 创建p段落 p.innerHTML = event.data div.appendChild(p) // 追加到页面中 } btn3.addEventListener('click', function(){ let n = Math.floor(Math.random()*15) + 30 worker.postMessage(n) })