javascript - 从 socket.io 返回一个值到客户端

标签 javascript node.js express socket.io

我正在尝试从服务器向客户端接收我正在制作的东西的当前抽屉的 ID。这就是我到目前为止所得到的

客户:

    socket.emit('returnDrawer');

    socket.on('returnDrawer', function(ret)
    {
        console.log("id:", ret);
    })

服务器:

socket.on('returnDrawer', function() {
    return users[currentDrawer].ioid;
});

但是我的客户端回调根本没有被当前抽屉 ID 调用,需要一些帮助。

最佳答案

您可以将回调函数作为参数发送给emit()。这是我的一个项目的例子。没有抽屉,但有动画。

客户端

socket.emit('animate', 'text', payload, (response) => {
    console.log(response);
});

服务器端

socket.on('animate', (animation, payload, callback) => {

    callback = typeof callback == "function" ? callback : () => {};

    try {
        this.runAnimation(animation, payload);
        callback({status:'OK'});
    }
    catch(error) {
        callback({error:error.message});
    }

});

关于javascript - 从 socket.io 返回一个值到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311170/

相关文章:

node.js - 如何实现 isTypeOf 方法?

javascript - 在 Express 应用程序初始化期间加载 JSON 文件

node.js - SendGrid 事件运行多次

javascript - Bootstrap Datepicker最大选择N天

javascript - Eval 函数或 document.write

javascript - 传递数据以在 ExpressJS + Reactjs 中查看

node.js - 用户登录时 Firebase 创建条目

javascript - 如何设置 GAE 数据存储的 key ?

express - Angular 2+ Universal是否可以从expressjs传递参数(不使用url查询字符串)?

javascript - 根据内容更改模态高度