V8 Worker基于容器总线的消息通道以Render到Worker发送消息流程大致为什么?

支付宝小程序 V8 Worker中的Render 和 Worker 通信中基于容器总线的消息通道以Render 到Worker 发送消息流程大致为什么?

展开
收起
游客x3a254b44ahsk 2022-05-09 22:00:45 372 分享 版权
1 条回答
写回答
取消 提交回答
  • Render 侧发送 postMessage 消息,此时消息需要经过一次序列化转成字符串。 WebChromeClient onConsoleMessage 拦截到消息,反序列化成 JSONObject 并发送到容器总线 bridge.sendToNative(event) 。 容器总线进行事件分发。 worker 插件拦截到 postMessage 事件,并发送到 worker。 V8Worker 将消息反序列化成 string,并转成 JS 数据类型,传到 Worker 所在的 V8Context。 workerjs_v8_origin.js 中_invokeJS 函数被调用,至此,Worker 已收到来自 Render 的消息。

    2022-05-10 17:07:31
    赞同 展开评论