从socket.io函数中获取值?

时间:2016-07-02 21:57:09

标签: javascript jquery socket.io

我正在尝试创建一个将返回answer值的函数。但是我无法获得这个价值。

目前正在做的是从服务器获取一些数据并将其存储在数据中。但是,我想让这个值更容易,因为不必经常将我的内容包装在serverAnswer函数中。这可能吗?

var serverAnswer = (function() {
    var answer;
    socket.on("server answer", function(data){
        answer = data.year;
    });
    return function() {
        alert(answer);
    };
}());

serverAnswer();
console.log(answer);

1 个答案:

答案 0 :(得分:1)

您无法以同步方式完全执行此操作。但是,您可以在需要answer值的位置创建一个函数,并从套接字回调中调用该函数。甚至套接字回调可以是您想要使用answer值的函数。

function doit(answer){
    // do something with answer
}

你可以这样做

socket.on("server answer", function(data){
    answer = data.year;
    doit(answer);
});

或者这个

socket.on("server answer", doit);