如何在AngularJS中使用Web Worker?
发布时间:2020-12-17 06:54:08 所属栏目:安全 来源:网络整理
导读:我正在使用 AngularJS Seed,我希望看到一个Web Worker的工作实现. 我想让一个简单的Web Worker工作,以便理解它,但我遇到了一个功能问题. 我在services.js中有Web Worker代码,如下所示: 'use strict';/* Services */var app = angular.module('myApp.service
我正在使用
AngularJS Seed,我希望看到一个Web Worker的工作实现.
我想让一个简单的Web Worker工作,以便理解它,但我遇到了一个功能问题. 我在services.js中有Web Worker代码,如下所示: 'use strict'; /* Services */ var app = angular.module('myApp.services',[]). app.factory("HelloWorldService",['$q',function($q){ var worker = new Worker('js/doWork.js'); var defer; worker.addEventListener('message',function(e) { console.log('Worker said: ',e.data); defer.resolve(e.data); },false); return { doWork : function(myData){ defer = $q.defer(); worker.postMessage(myData); // Send data to our worker. return defer.promise; } }; }]); 在js文件夹中,我有一个文件doWork.js,其内容是: self.addEventListener('message',function(e) { self.postMessage(e.data); },false); 我的controllers.js文件是空的,看起来像这样: 'use strict'; /* Controllers */ var app = angular.module("myApp.controllers",[]); app.controller('MyCtrl1',[ '$scope',function($scope) { }]).controller('MyCtrl2',function($scope) { }]); 我想要的是看到Web Worker的输出. 我通过此设置获得的错误是: 未捕获的TypeError:无法调用未定义的方法’factory’ 解决方法
你有语法错误?
更改 /* Services */ var app = angular.module('myApp.services',[]). 至 /* Services */ var app = angular.module('myApp.services',[]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |