当前位置:  开发笔记 > 编程语言 > 正文

如果我仍然在使用web worker时继续使用postMessage()会发生什么?

如何解决《如果我仍然在使用webworker时继续使用postMessage()会发生什么?》经验,为你挑选了1个好方法。

我是网络工作者的新手,但我遇到的一个问题是,给出以下场景:

    我生成一个Web worker并onmessage在Worker中设置处理程序

    然后我postMessage()在主线程中使用触发Worker的onmessage

    postMessage在最后onmessage一项任务仍在进行中时,我立即拨打另一个电话

然后,我想知道工人是如何处理的?



1> Tomáš Zato -..:

消息保存在队列中.工作人员就像主线程一样,拥有一个消息队列 - 从事件启动任务(例如,点击),setTimeoutpostMessage.以下是它的工作原理:

图片描述

这同样适用于主线程以及Node.js.这是javascript的工作原理.

因此,对于您的回答 - 您发送给工作人员的所有消息将按照您处理它们的相同顺序逐个处理.

这是一个jsFiddle,作为我的主张是真实的测试.您将看到虽然所有消息都是一次发送的,但它们会按顺序处理.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有