最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

是否可以将异步函数作为Websocket(ws)侦听器传递? (node.js和ws库)

IT培训 admin 10浏览 0评论

是否可以将异步函数作为Websocket(ws)侦听器传递? (node.js和ws库)

我的websockets必须做的大部分操作都是asycnrhonous,所以我将一个异步函数作为回调函数传递给websocket并在其中调用await,这样做是否可以?如果不是我有什么选择? 编辑:这是我的消息监听器:

ws.on('message', async function (message) {
        if (message instanceof Buffer) {
          if (currentMode == prot.dataMode) {
            await appendData(sessionData,message);
          }
          else {
            console.log("error : unexpected message received");
          }
        }
        // if the message is for defining the mode of communication
        //This message is a configuration message
        else {
          message = JSON.parse(message);
          if (message[prot.modeField] == prot.confMode) {
            console.log("conf mode");
            currentMode = prot.confMode;
            await configure(sessionData,message);
          }
          //The following messages will be data
          else if (message[prot.modeField] == prot.dataMode) {
            console.log("data mode");
            currentMode = prot.dataMode;
          }

          else{
            console.log("unknown message structure : ");
            console.log(message);
          }
        }

      });
回答如下:

是否可以将异步函数作为Websocket(ws)侦听器传递? (node.js和ws库)

我的websockets必须做的大部分操作都是asycnrhonous,所以我将一个异步函数作为回调函数传递给websocket并在其中调用await,这样做是否可以?如果不是我有什么选择? 编辑:这是我的消息监听器:

ws.on('message', async function (message) {
        if (message instanceof Buffer) {
          if (currentMode == prot.dataMode) {
            await appendData(sessionData,message);
          }
          else {
            console.log("error : unexpected message received");
          }
        }
        // if the message is for defining the mode of communication
        //This message is a configuration message
        else {
          message = JSON.parse(message);
          if (message[prot.modeField] == prot.confMode) {
            console.log("conf mode");
            currentMode = prot.confMode;
            await configure(sessionData,message);
          }
          //The following messages will be data
          else if (message[prot.modeField] == prot.dataMode) {
            console.log("data mode");
            currentMode = prot.dataMode;
          }

          else{
            console.log("unknown message structure : ");
            console.log(message);
          }
        }

      });
回答如下:
发布评论

评论列表 (0)

  1. 暂无评论