我正在尝试创建一个将返回answer值的函数。但是我无法获得这个价值。
目前正在做的是从服务器获取一些数据并将其存储在数据中。但是,我想让这个值更容易,因为不必经常将我的内容包装在serverAnswer函数中。这可能吗?
的
的var serverAnswer = (function() {
var answer;
socket.on("server answer", function(data){
answer = data.year;
});
return function() {
alert(answer);
};
}());
serverAnswer();
console.log(answer);
的
答案 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);