如何解决角度服务和网络工作者
我有一项服务正在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 举报,一经查实,本站将立刻删除。