Как передать функцию в вызове сообщения JS-рабочего сообщения?
Мне нужен мой рабочийлет, чтобы использовать функцию, которая находится в вызывающем файле TS. Поскольку в postMessage разрешены только строки и числа. Мне сложно передать функцию. Это вообще возможно?
calling.ts
// processAudio is the function (This is how i send data to worklet function)
this.socketWorkletNode.port.postMessage({
type: 'setState', state: state,
processAudio: this.filterFunctions.processAudio
});
worklet.js
class audio_process_worklet {
...
handleMessage_(event) {
// If process function is available then set it in the class
if(event.data.processAudio) {
this.processedData = event.data.processAudio(this.audioData);
}
}
...
}
Подробнее: Причина, по которой мне нужно передать функцию, заключается в том, что это функция, которую я получил через WebAssembly. На самом деле это функция, написанная на языке C. Я скомпилировал его как файл WASM с помощью компилятора emcc и передал файл с сервера. Используя модуль WebAssembly в браузере, я получаю функцию.