首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果我继续使用postMessage(),当一个网络工作者仍然在使用时会发生什么呢?

如果我继续使用postMessage(),当一个网络工作者仍然在使用时会发生什么呢?
EN

Stack Overflow用户
提问于 2015-12-29 21:59:01
回答 1查看 1.2K关注 0票数 7

我对网络工作者非常陌生,但有一个问题是,考虑到以下情况:

  1. 生成一个web工作者并在worker中设置onmessage处理程序。
  2. 然后在主线程中使用postMessage()触发工人的onmessage
  3. 在上一个postMessage任务仍在进行中时,我立即调用另一个onmessage

那么,我想知道工人是如何处理这个问题的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-06 15:14:08

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

例如,主线程和Node.js也是如此。这就是javascript的工作原理。

因此,对于您的回答-您发送给员工的所有消息都将按照处理它们的顺序逐一处理。

这是一个jsFiddle是检验我的说法是否正确的一个测试。您将看到,尽管所有消息都是一次发送的,但它们是按顺序处理的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34519751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档