web-worker相关内容

我如何知道网络工作者是否已关闭?

HTML5 Worker 可以通过调用 close() 方法关闭自己. 有没有办法判断工作进程是否处于活动状态/正在运行或是否已关闭? var myWorker = new Worker("worker.js");...如果(myWorker.isAlive()){//做东西} 解决方案 worker 本身不会告诉你,但你有两个选择: 您可以在正在运行的脚本中放入一些内容.例如, ..
发布时间:2021-09-24 20:08:44 前端开发

在网络工作者中实现信号量锁定的有效方法?

我有一大段代码(用 Emscripten 编译)在 web worker 中运行.该页面使用一个 postMessage 启动 worker 中的一项任务,当 worker 完成时,它会发送另一个 postMessage.伟大的.但是,我想添加一个新功能,它要求我在执行过程中暂停工作线程,通过 postMessage 将消息踢回浏览器,等待用户通过 postMessage 提交有效响应,然后完成执 ..
发布时间:2021-09-24 20:08:41 前端开发

Angular 2 Web Worker - UI 未运行

我有一个 angular2 应用程序在 Web Worker 中运行.从它的外观来看,一切都在按我的预期运行,但 DOM 似乎没有发生任何事情.例如,我在加载应用程序时显示了一个预加载器,但它永远不会被实际的应用程序 UI 替换. 正在加载... 当 AppModule 加载时,我的应用程序中没有任何内容......即使我看到我的所有组件和服务都按照我在后台工作程序中的预期运行......整个 ..
发布时间:2021-09-24 20:08:38 其他开发

是否可以使用 Web Worker 优化两个脚本?

我正在运行两个具有依赖性的库.我的意思是它们的执行顺序无关紧要.它们会相互检测并以任意顺序运行. script1.js脚本2.js 使用 Web Worker 并行运行这些脚本(并行处理)是否会让我受益?(MDN 文档) 我的意思是它们会比我连续运行它们运行得更快吗? 这两个脚本都已在客户端上可用(我不必下载它们). 解决方案 如果一个或两个脚本是纯函数式的,这意味着它不需 ..
发布时间:2021-09-24 20:08:35 前端开发

来自网络工作者的 setTimeout

如果我想在无法继续处理数据的情况下暂停 Web Worker 并稍后再试,该怎么办?我可以在网络工作者中以这种方式做到这一点吗? var doStuff = function() {如果(数据库忙()){设置超时(doStuff,1000);} 别的 {doStuffIndeed();}} 我收到Uncaught RangeError: Maximum call stack size exce ..
发布时间:2021-09-24 20:08:32 前端开发

通过 worker.postMessage() 发送的消息是否排队?

创建一个worker后,我可以通过postMessage向它发送消息.例如: var worker = new Worker('helper.js');worker.postMessage({...}); 在 helper.js 中,worker 需要使用 onmessage = function (event) { ... }; 添加一个监听器 我的问题是,如果在 worker 脚本仍在 ..
发布时间:2021-09-24 20:08:25 其他开发

从网络工作者发布数据后参考

我认为您使用来自网络工作者的“postMessage"发送的对象的序列化是使用 JSON.serialize 进行的,而反序列化是使用 JSON.parse 进行的.但是我使用该工作代码进行了测试(在 Firefox 中): function A() {this.id = 3;这个.save;}var a1 = new A();var a2 = new A();a1.save = a2;后消息( ..
发布时间:2021-09-24 20:08:17 前端开发

从 SharedWorker 向 SharedWorker 发送消息

关于 SharedWorkers 的 MDN 文档 指出: SharedWorker 接口代表一种特定类型的工作器,可以从多个浏览上下文访问,例如多个窗口、iframe甚至工作器. 对我来说,这听起来好像 SharedWorkers 应该能够直接交换消息.但是,如果我尝试从另一个 SharedWorker 中访问 SharedWorker,即使用 var worker = new S ..
发布时间:2021-09-24 20:08:14 前端开发

是否可以终止正在运行的 Web Worker?

我有一个网络工作者正在运行一个带有 ajax 请求的耗时的例行任务.我可以在不等待它们完成的情况下从主线程终止它们吗? 这就是我生成和终止它的方式: $("button.parse-categories").click(function() {如果(parseCategoriesActive==false){parseCategoriesActive = 真;parseCategories ..
发布时间:2021-09-24 20:08:11 前端开发

Node.js 下载并执行外部脚本

我正在使用 Node.js 构建一个简单的 http 客户端. 我想知道如何执行从 Web 服务器下载的 JS 脚本(模仿浏览器):我的 JS 代码 - 已经在 FF3.6 上测试过 - 包含 Web Workers 和 XMLHttpRequest Level 2. Node.js 是否能够处理这样的代码? 解决方案 你会在 VM 模块 是标准库的一部分.您会发现 JSDOM ..
发布时间:2021-09-24 20:08:08 前端开发

无法从 Chrome 中的 webworker 内部创建 Web Worker

使用 Chrome 17.0.963.46 m,我尝试从 web worker 内部创建一个新的 web worker.但是得到了“未捕获的引用错误:未定义工作线程" 任何信息.在这个?(Google 在 webworkers 中创建 web worker 的链接出奇地少) 解决方案 在 chrome 中不支持在 worker 中创建 worker.FF 使用示例实现了这一点. ..
发布时间:2021-09-24 20:08:05 前端开发

Web Worker 中的 RequireJS

我正在尝试在 Web Worker 中使用 RequireJS.问题是我在使用它时不断收到以下错误.未捕获的错误:./lib/underscore.js 处的下划线导入脚本失败 我已经测试了我的配置选项,它们只会在导入 Underscore 时导致此错误.他们在这里: {baseUrl: './',路径:{jquery: 'lib/jquery',下划线:'lib/下划线'},垫片:{下划 ..
发布时间:2021-09-24 20:07:57 前端开发

在 Web-Worker 中同步等待消息

有什么方法可以同步等待或检查网络工作者中的新消息吗? 我有大量复杂的代码(从 emscripten 编译的 LLVM),我无法围绕回调进行重构. 我需要确保特定行之后的代码在我收到并处理来自 UI 线程的消息之前不会执行.如果我使用 while 循环阻塞,则事件循环永远不会运行,因此我无法接收消息. 解决方案 这是我在使用 Pyodide.我想从主线程“同步"调用一个函数. ..
发布时间:2021-09-24 20:07:54 前端开发

Web Worker 的消息有多快?

我想知道与网络工作者之间的传输是否会成为瓶颈.我们应该在触发任何类型的事件时发布消息,还是应该小心并尽量限制两者之间的通信? 让我们举个例子.如果我有一个动态构造的巨大数组(例如来自 mousemove 或 touchmove 的用于手势识别器的接触点数组),传输数据是否更有效迭代地——即在我们收到每个元素后立即发送并让工作人员将它们存储在其一侧——或者最好将它们存储在主线程上并在最后一次发 ..
发布时间:2021-09-24 20:07:47 前端开发