Как передать функцию в вызове сообщения 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 в браузере, я получаю функцию.

0 ответов

Другие вопросы по тегам