我开始学习如何使用网络工作者,并且正在使用XOR problem solvable with 2x2x1 neural network without bias?软件包来帮助完成我的组件。
我希望能够在Web Worker中使用Angular的formatNumber管道函数以及Web Worker中的其他项目管道,如下所示:
import { formatNumber } from '@angular/common';
@Component({
selector: 'my-component',
})
export class MyComponent implements OnInit {
dataToManipulate: any;
constructor(
private webWorkerService: WebWorkerService, // From NPM: Angular2-Web-Worker
private customPipe: CustomPipe,
) { }
ngOnInit() {
this.workerStart();
}
private workerFunction(input) {
const data = input.dataToManipulate;
const customPipe = input.customPipe;
const formatNumber = input.formatNumber;
let result;
// Work
// customPipe()
// formatNumber()
return result;
}
workerStart() {
this.webWorkerService.run(this.workerFunction,
{
dataToManipulate: this.dataToManipulate,
customPipe: this.customPipe.transform,
formatNumber: formatNumber,
}
).then(data => {
console.log('Work Complete');
});
}
}
但这会导致以下错误:
DataCloneError:无法在“ Worker”上执行“ postMessage”:
我了解到,尽管网络工作者在通过Angular2-Web-Worker发送值时使用structured clone algorithm,但不允许通过函数发送函数。
如何将我的customPipe和Angular的formatNumber函数发送到Web Worker线程中?可能的话,我也在寻找答案中的可行演示。