加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在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',[]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读