NodeJS-在何处放置eval()函数

时间:2018-11-20 13:27:34

标签: javascript node.js websocket

我有一个NodeJS服务器,它通过Websocket-Connection与朋友通信。

服务器收到on('message')时,它应运行一个函数,该函数的名称通过eval()给出消息。

它工作正常,除非我完全不知道将调用该函数的位置放在哪里。

var http = require('http');
var ws = require('ws');

function render(vars)  {  
    var server = http.createServer(function(req, res) {
        .....
    });

    /* WEBSOCKET */
    var wsServer = new ws.Server({server});
    wsServer.on('connection', socket => { 
      socket.on('message', message => {
        console.log('WS from template <-- ', message);
        var wsIn = JSON.parse(message);        
        eval(wsIn.action);   
    });    
 });  

}

当收到一条消息时,eval(wsIn.action)应该运行一个名为..let的函数,假设runme ..所以我现在需要在哪里声明该函数?我尝试了一切,但是无论如何我都会得到

  

ReferenceError ::未定义Runme

编辑:

我发现了一些有趣的东西: 当我在runme();中调用正常的函数onMessage时,..一切都很酷..但是使用eval(runme);时,什么也不会发生..没有错误,没有输出,什么都没有。

0 个答案:

没有答案