草庐IT

hadoop-worker

全部标签

javascript - 使用 JavaScript Web Workers 的并行编程/同步

是否有任何同步原语,如障碍、信号量、锁、监视器,...JavaScript/WebWorkers或者是否有一些可用的库使我能够使用这些东西(我正在考虑Java中的java.util.concurrent之类的东西)?Worker是否具有将它们与线程区分开来的晦涩属性(例如,它们可以与主线程共享内存)?是否有某种限制可以产生多少worker(例如,出于安全原因或其他原因......)?我需要特别注意什么吗? 最佳答案 网络worker没有共享内存的概念;复制线程之间传递的所有消息。话虽如此,您没有屏障、信号量、锁和监视器,因为您在网络

javascript - 服务 worker : how to update the cache when files changed on the server?

您使用什么缓存策略?我阅读了OfflineCookbook,最简单的使用策略是缓存静态内容并忽略API调用。这个策略看起来是这样的:检查请求是否已经在缓存中如果不将请求、响应对添加到缓存返回响应如果服务器端的文件已更改,如何更新缓存?目前,客户端始终获取缓存的结果。这是我的缓存策略的代码://Youwillneedthispolyfill,atleastonChrome41andolder.importScripts("serviceworker-cache-polyfill.js");varVERSION=1;varCACHES={common:"common-cache"+VERS

javascript - 刷新服务 worker 中使用 importScripts 导入的脚本

我有一个网站,其中有一个serviceworker,例如://ImportascriptfromanotherdomainimportScripts('https://example.com/script.js')假设script.js更新了一些新代码,并且由于推送事件激活了serviceworker(用户在此期间没有再次访问我的网站)。importScripts是在每次激活serviceworker时检查更新,还是在首次安装serviceworker时只下载一次script.js?有什么方法可以让服务worker每次收到推送消息时刷新服务worker代码(尤其是导入的脚本)?

javascript - 您可以为 Web Worker 指定名称吗?

如果您启动两个使用相同JavaScript文件的WebWorker,Firefox无法在about:debugging#workers中区分它们。您会得到两个相同的条目(列在“其他worker”下)。为了调试,为webworker分配名称会很方便。例如,在Java中有Thread#setName.JavaScript的网络workerAPI中是否有等效的东西? 最佳答案 Worker()constructor接受一个可选的选项参数,它可以包含一个名称属性,例如:letworkerOne=newWorker(URL,{'name':'

javascript - 等待几个 web worker 完成

我有一个创建多个网络worker的脚本,这些网络worker执行一些工作并在完成时发送消息。问题是我需要从所有这些中得到结果,然后计算出最终的解决方案。在其他工作中,他们计算出问题的部分解决方案,主线程使用这些部分解决方案来生成最终答案。我如何才能等待所有这些线程完成,Javascript中是否有类似Java中的invokeAll的东西?或多或少,我的主线程中有:vardata=[];functioncreateWorker(i){varv=newWorker('js/worker.js');v.postMessage(i);v.onmessage=function(event){da

javascript - 打开 Chrome 扩展程序时出现 Service Worker TypeError

当我打开WAVE(Web可访问性评估工具)扩展程序时,我的服务人员在Chrome中抛出此错误:Uncaught(inpromise)TypeError:Requestscheme'chrome-extension'isunsupportedatsw.js:52(anonymous)@sw.js:52Promise.then(async)(anonymous)@sw.js:50Promise.then(async)(anonymous)@sw.js:45Promise.then(async)(anonymous)@sw.js:38我的服务worker代码是:(function(){'us

javascript - 如何通过 worker.onerror 在 promise 中冒泡网络 worker 错误?

我正在处理一个需要在发生错误时进行报告的网络worker。通常,我可以使用worker.onerror来监听从worker抛出的任何错误。但是,当错误发生在webworker的promise中时,我无法弄清楚如何将错误冒泡回worker.onerror。请原谅奇怪的代码片段,因为这似乎是展示工作人员行为的唯一方法。(worker在HTML部分中定义)。functiongetInlineJS(){varjs=document.querySelector('[type="javascript/worker"]').textContent;varblob=newBlob([js],{"typ

javascript - 仅在 Chrome 中(服务 worker ): '... a redirected response was used for a request whose redirect mode is not "follow"'

当我在Chrome中刷新(或离线)时,我得到“无法访问此站点”并且以下内容记录到控制台:TheFetchEventfor"http://localhost:8111/survey/174/deployment/193/answer/offline/attendee/240/”导致网络错误响应:重定向响应用于重定向模式不是“跟随”的请求。。当我在Firefox中刷新时,一切正常。有人可以解释为什么会这样吗?这是我简化的软件。importScripts("/static/js/libs/idb.js")varCACHE_NAME="upshot-cache-version3"varurls

javascript - 服务 worker : Fetch event listener only works after page reload

我已经使用以下代码在我的页面中添加了一个服务worker。一旦页面被重新加载并且worker已经安装,它就可以很好地工作。但是在我看到'SWINSTALL'日志后,在重新加载页面之前似乎没有捕捉到任何获取事件。app.jsnavigator.serviceWorker.register('/worker.js').then((registration)=>{console.log('ServiceWorkerregistrationsuccessfulwithscope:',registration.scope);},(err)=>{console.log('ServiceWorker

javascript - 如何在 Web Worker 中使用其他库?

我有一些像这样的javascript代码,varworker=newWorker("javascript/worker.js");worker.onmessage=function(evt){//stuff}worker.js看起来像这样,importScripts("base.js");functiongetImage(){$.ajax({url:'URL'dataType:"text/plain;charset=x-user-defined",mimeType:"text/plain;charset=x-user-defined",success:function(data,tex