mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-10 03:16:49 +08:00
43 lines
944 B
JavaScript
43 lines
944 B
JavaScript
// 保存端口引用
|
||
let port
|
||
|
||
/**
|
||
* 控制处理各种消息
|
||
* @type {Map <string, boolean>}
|
||
*/
|
||
const handle = new Map()
|
||
|
||
handle.set('layout', false)
|
||
/**
|
||
* 接收来自主页面的初始化消息
|
||
* @param e {MessageEvent}
|
||
*/
|
||
self.onmessage = function initHandler(e) {
|
||
const { ports = [], data } = e
|
||
// console.log(`Worker收到消息:`, data)
|
||
// 只处理初始化消息
|
||
if (data !== 'init-worker' || ports.length === 0) {
|
||
return
|
||
}
|
||
|
||
// console.log(`Worker初始化,接收到端口:`, ports[0])
|
||
self.port = ports[0]
|
||
|
||
self.port.onmessage = messageHandler
|
||
|
||
// 初始化完成后,可以移除主消息监听器,改为只监听端口消息
|
||
self.onmessage = null
|
||
}
|
||
|
||
/**
|
||
* 父节点事件配置
|
||
* @param event {MessageEvent}
|
||
*/
|
||
function messageHandler(event) {
|
||
// console.log('has been received event',event)
|
||
|
||
if (handle.has(event.data.type)) {
|
||
self.port.postMessage(handle.get(event.data.type))
|
||
}
|
||
}
|