将我从本机插件收到的 napi_values 发送到前端的正确方法应该是什么?

What should be the correct way to send to the front-end the napi_values I receive from the native-addon?

我正在尝试与前端通信 this native addon。它由一个素数生成器组成,当它执行时它会写入控制台,我希望它通过套接字将它们发送到浏览器控制台。

使用此代码,我调用插件并在控制台中写入 napi_values:

binding.startThread((thePrime) =>
  console.log("Received prime from secondary thread: " + thePrime));

我已经尝试使用 socket.emit。

socket.emit('dataout', addon.startThread(thePrime));

但是我只能在控制台写。

将我从 native-addon 收到的 napi_values 发送到前端的正确方法应该是什么?我应该将“socket.io”更改为其他内容吗?

我想阅读任何疯狂的代码建议,即使您还没有亲自尝试过。

我的套接字对应的代码:

sockets() {
        this.io.on('connection', socket => {

            console.log('cliente conectado', socket.id);

            socket.on('disconnect', () => {
                console.log('Cliente desconectado', socket.id);
            });

            //correct mode
            //addon.startThread((thePrime) => socket.emit('dataout', thePrime));

            socket.on('enviar-mensaje', ( payload, callback ) => {

                callback(payload);

            });

            socket.on('addonexe', () => {

                addon.startThread((thePrime) => socket.emit('dataout', thePrime));

            });

        });

    }

这个

socket.emit('dataout', addon.startThread(thePrime));

发出函数的结果。这不是您想要的,您希望回调函数发出:

addon.startThread((thePrime) => socket.emit('dataout', thePrime));