微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角度服务和网络工作者

如何解决角度服务和网络工作者

我有一项服务正在Angular应用中用于大量计算。我正在将@injectable与服务类一起使用。我也想在网络工作者中使用该类,但是它引发了dom相关的错误。重用服务代码的最佳方法是什么?我可以编写一个普通的类,但希望避免重复编写代码,因为应用程序中仍然需要它。

我想做这样的事情:

// web worker
import {Service} from 'app.service.ts';

addEventListener('message',({ data }) => {
  const response = new Service().callServiceMethod(data);
  postMessage(response);
});

解决方法

可能有比这更好的答案,因为这是一种解决方法,但需要最少的维护,并且功能保留在代码中:

我正在使用非dom类和angular类

..............
class NonDom {

exampleMethod() {
// do stuff
 }
}
.............

import NonDom from './NonDom';

class AngularWithDom {
const nonDomClass = new NonDom();

exampleMethod() {
 return nonDomClass.exampleMethod();
 }

domMethod() {
 // do stuff with dom here 
 }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。