web-worker相关内容
HTML5 Worker 可以通过调用 close() 方法关闭自己. 有没有办法判断工作进程是否处于活动状态/正在运行或是否已关闭? var myWorker = new Worker("worker.js");...如果(myWorker.isAlive()){//做东西} 解决方案 worker 本身不会告诉你,但你有两个选择: 您可以在正在运行的脚本中放入一些内容.例如,
..
我有一大段代码(用 Emscripten 编译)在 web worker 中运行.该页面使用一个 postMessage 启动 worker 中的一项任务,当 worker 完成时,它会发送另一个 postMessage.伟大的.但是,我想添加一个新功能,它要求我在执行过程中暂停工作线程,通过 postMessage 将消息踢回浏览器,等待用户通过 postMessage 提交有效响应,然后完成执
..
我有一个 angular2 应用程序在 Web Worker 中运行.从它的外观来看,一切都在按我的预期运行,但 DOM 似乎没有发生任何事情.例如,我在加载应用程序时显示了一个预加载器,但它永远不会被实际的应用程序 UI 替换. 正在加载... 当 AppModule 加载时,我的应用程序中没有任何内容......即使我看到我的所有组件和服务都按照我在后台工作程序中的预期运行......整个
..
我正在运行两个具有依赖性的库.我的意思是它们的执行顺序无关紧要.它们会相互检测并以任意顺序运行. script1.js脚本2.js 使用 Web Worker 并行运行这些脚本(并行处理)是否会让我受益?(MDN 文档) 我的意思是它们会比我连续运行它们运行得更快吗? 这两个脚本都已在客户端上可用(我不必下载它们). 解决方案 如果一个或两个脚本是纯函数式的,这意味着它不需
..
如果我想在无法继续处理数据的情况下暂停 Web Worker 并稍后再试,该怎么办?我可以在网络工作者中以这种方式做到这一点吗? var doStuff = function() {如果(数据库忙()){设置超时(doStuff,1000);} 别的 {doStuffIndeed();}} 我收到Uncaught RangeError: Maximum call stack size exce
..
我将有一个网络工作者来解析巨大的文本文件(200000 行,虽然语法简单).我希望用户通过拖放或其他方式提交该文件,获取 File 对象: var work = new Worker("parser.js")document.addEventListener("drop", function(e) {e.preventDefault();var dt = e.dataTransfer;var
..
创建一个worker后,我可以通过postMessage向它发送消息.例如: var worker = new Worker('helper.js');worker.postMessage({...}); 在 helper.js 中,worker 需要使用 onmessage = function (event) { ... }; 添加一个监听器 我的问题是,如果在 worker 脚本仍在
..
我收到以下错误 未捕获的类型错误:无法执行 'postMessage''DedicatedWorkerGlobalScope':无法转换提供的值到一个序列. 在网络工作者的这一行: postMessage("hi", "http://localhost:8000"); (实际上,这就是网络工作者的全部). 基本文件包含: var myWorker = new Worker(
..
(pic1 中的 30119999.xml,有一个齿轮标记 pre name) 我在 Web Worker 中设置了这个请求,响应数据没问题,我在 onmessage 回调中终止了它 但是为什么请求总是处于待处理状态并且无法预览,请帮忙. 伪代码: const workerBlob = new Blob([`onmessage = function (event) {const
..
我认为您使用来自网络工作者的“postMessage"发送的对象的序列化是使用 JSON.serialize 进行的,而反序列化是使用 JSON.parse 进行的.但是我使用该工作代码进行了测试(在 Firefox 中): function A() {this.id = 3;这个.save;}var a1 = new A();var a2 = new A();a1.save = a2;后消息(
..
关于 SharedWorkers 的 MDN 文档 指出: SharedWorker 接口代表一种特定类型的工作器,可以从多个浏览上下文访问,例如多个窗口、iframe甚至工作器. 对我来说,这听起来好像 SharedWorkers 应该能够直接交换消息.但是,如果我尝试从另一个 SharedWorker 中访问 SharedWorker,即使用 var worker = new S
..
我有一个网络工作者正在运行一个带有 ajax 请求的耗时的例行任务.我可以在不等待它们完成的情况下从主线程终止它们吗? 这就是我生成和终止它的方式: $("button.parse-categories").click(function() {如果(parseCategoriesActive==false){parseCategoriesActive = 真;parseCategories
..
我正在使用 Node.js 构建一个简单的 http 客户端. 我想知道如何执行从 Web 服务器下载的 JS 脚本(模仿浏览器):我的 JS 代码 - 已经在 FF3.6 上测试过 - 包含 Web Workers 和 XMLHttpRequest Level 2. Node.js 是否能够处理这样的代码? 解决方案 你会在 VM 模块 是标准库的一部分.您会发现 JSDOM
..
使用 Chrome 17.0.963.46 m,我尝试从 web worker 内部创建一个新的 web worker.但是得到了“未捕获的引用错误:未定义工作线程" 任何信息.在这个?(Google 在 webworkers 中创建 web worker 的链接出奇地少) 解决方案 在 chrome 中不支持在 worker 中创建 worker.FF 使用示例实现了这一点.
..
var Worker = require('webworker-threads').Worker;require('http').createServer(function (req,res) {var fibo = new Worker(function() {函数 fibo (n) {返回 n >1 ?fibo(n - 1) + fibo(n - 2) : 1;}//this 指的是哪个 on
..
请考虑以下代码和 Mozilla 教程中的解释“使用网络工作者": var myWorker = new Worker('my_worker.js');myWorker.onmessage = 函数(事件){print("被worker回调了!\n");}; 本例中的第 1 行 创建和开始运行工作线程.第 2 行设置 onmessage 处理程序工人到一个功能是当工人调用自己的时调用postM
..
我正在尝试在 Web Worker 中使用 RequireJS.问题是我在使用它时不断收到以下错误.未捕获的错误:./lib/underscore.js 处的下划线导入脚本失败 我已经测试了我的配置选项,它们只会在导入 Underscore 时导致此错误.他们在这里: {baseUrl: './',路径:{jquery: 'lib/jquery',下划线:'lib/下划线'},垫片:{下划
..
有什么方法可以同步等待或检查网络工作者中的新消息吗? 我有大量复杂的代码(从 emscripten 编译的 LLVM),我无法围绕回调进行重构. 我需要确保特定行之后的代码在我收到并处理来自 UI 线程的消息之前不会执行.如果我使用 while 循环阻塞,则事件循环永远不会运行,因此我无法接收消息. 解决方案 这是我在使用 Pyodide.我想从主线程“同步"调用一个函数.
..
我试图让 Web-Worker 管理其状态,同时为多个异步请求提供服务. worker.ts 文件 let a =0;//这是我工人的状态让 worker=self 与 Worker 一样未知;worker.onmessage =(e)=>{console.log("Rec msg", e.data);if(e.data === "+1"){setTimeout(()=>{a=a+1;wo
..
我想知道与网络工作者之间的传输是否会成为瓶颈.我们应该在触发任何类型的事件时发布消息,还是应该小心并尽量限制两者之间的通信? 让我们举个例子.如果我有一个动态构造的巨大数组(例如来自 mousemove 或 touchmove 的用于手势识别器的接触点数组),传输数据是否更有效迭代地——即在我们收到每个元素后立即发送并让工作人员将它们存储在其一侧——或者最好将它们存储在主线程上并在最后一次发
..