在 socket.io 的回调之外保存数据

编程入门 行业动态 更新时间:2024-10-06 13:26:31

在 socket.io 的<a href=https://www.elefans.com/category/jswz/34/1771356.html style=回调之外保存数据"/>

在 socket.io 的回调之外保存数据

我想做的只是

client1 =(1)=> server =(2)=> otherclient =(3)=> server =(4)=> client1
但是数据不能传入 =(4)=> 返回给请求者

服务器(node.js socket.io) `

    var data1 = "";
    socket.on("getdata", async(postid,cb)=>{ //==(1)==> //cb to client1 =(4)=>
        socket.broadcast.emit("sendreq",postid) //==(2)==>
        socket.on("callbacksendreq", (data)=>{ //==(3)==>

               //==(4)==> [option 1]//send to otherclient instead of client 1
            io.to(socket.id).emit("callbackgetdata", data) //socket.id is not client1

               //==(4)==> [option 2]//cb() not defined
            cb(data)//this function is from socket.on("getdata") but it doesnt work within another on
            data1 = data // data1 only change internally
        })
        cb(data1) //==(4)==>[option 3] but it return "" instead of data
                  //even though global scope, the data1 remain the same
    })

` 客户端//浏览器脚本(来自cdn的socket.io客户端)

    socket.on("connect",()=>{
        socket.emit("getdata", postid,(cbdata)=>{ //==(4)==>[option3][option2]
        Display(data);
        })
    })
    socket.on("callbackgetdata", (data)=>{ //==(4)==> [option2]
        Display(data);
    })

    //other client ask for comment //otherclient
    socket.on("sendreq",async(postid)=>{
        socket.emit("callbacksendreq", localStorage.getItem(postid) )
    })

我希望从其他客户端发送请求并获取 localStorage.getItem(postid) 作为回调并显示在 HTML 上

回答如下:

更多推荐

在 socket.io 的回调之外保存数据

本文发布于:2024-05-30 16:07:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770676.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:回调   数据   socket   io

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!