Я хотел бы использовать WebAssembly внутри веб-работника.
Из моего основного приложения я запускаю его так:
let w = new Worker('test.js');
w.onmessage = (event) => { console.log(event); };
w.onerror = (event) => { console.error(event); };
w.postMessage({ message: "Hello World" });
Затем я создал файл test.js
какследует:
self.Module = {
locateFile: function (s) {
console.log(s);
return s;
}
};
self.importScripts("main.js");
// note: `main.js` is the JavaScript glue file created by emcc
self.onmessage = function(messageEvent) {
console.log(messageEvent); // works!
console.log(self.Module); // works!
console.log(self.Module.ccall("test")); // crashes!
}
Я получаю сообщение об ошибке: Uncaught TypeError: Cannot read property 'apply' of undefined
.Я не понимаю, почему self.Module
не определено, как это возможно?
У меня такое ощущение, что в области работы веб-работника и WebAssembly есть что-то, что не очень хорошо работает вместе.
Спасибо за ваш вклад!