Javascript Socket.IO更新引导模式数据
我有一个JS服务器,它将数组发送到站点,引导模式只有在您关闭并再次打开它时才会更新,但我的问题是。如果它已打开,我如何更新它 这是我的代码,如果它是关闭的,你打开它Javascript Socket.IO更新引导模式数据,javascript,node.js,Javascript,Node.js,我有一个JS服务器,它将数组发送到站点,引导模式只有在您关闭并再次打开它时才会更新,但我的问题是。如果它已打开,我如何更新它 这是我的代码,如果它是关闭的,你打开它 function findGame(id){ for(var i = 0; i < games.length; i++){ if(games[i].id == id){ return games[i]; } } } function showGame(i
function findGame(id){
for(var i = 0; i < games.length; i++){
if(games[i].id == id){
return games[i];
}
}
}
function showGame(id){
var data = findGame(id);
var skins_creator = [];
var skins_opponent = [];
$('.watch-cf .modal-header h3').html('Watch Coinflip | #' + id);
$('.modal-body #creator-name').html(data.creator[0].name);
$('.modal-body #hash').html(data.hash);
$('.modal-body .duel-user-img').attr('src', 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/1a/'+data.creator[0].icon+'_full.jpg');
$('.modal-body #cf-creator-val').html(data.creator[0].totalSkins + ' skins valued at $' + data.creator[0].totalAmount);
data.creator[0].items.forEach(function (kevin){
skins_creator.push('<div class="cf-skin" style="box-shadow: inset 0 0 20px #'+kevin.color+'"> <div class="cf-skin-img"><img src="https://steamcommunity-a.akamaihd.net/economy/image/class/730/'+kevin.classid+'/111fx57f"></div><div class="cf-skin-name">'+kevin.name+'<p>'+kevin.price+' USD</p></div></div>');
});
if(Object.keys(data.opponent).length > 0){
$('.modal-body #opponent-name').html(data.opponent.name);
$('.modal-body .duel-user-img-opponent').attr('src', 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/1a/'+data.opponent.icon+'_full.jpg');
$('.modal-body #cf-opponent-val').html(data.opponent.totalSkins + ' skins valued at $' + data.opponent.totalAmount);
data.opponent.items.forEach(function(kevin){
skins_opponent.push('<div class="cf-skin" style="box-shadow: inset 0 0 20px #'+kevin.color+'"> <div class="cf-skin-img"><img src="https://steamcommunity-a.akamaihd.net/economy/image/class/730/'+kevin.classid+'/111fx57f"></div><div class="cf-skin-name">'+kevin.name+'<p>'+kevin.price+' USD</p></div></div>');
});
$('.modal-body .cf-opponent-skins').html(skins_opponent.join(""));
}
$('.modal-body .cf-creator-skins').html(skins_creator.join(""));
$('.watch-cf').modal('show');
}
您只需重新分配
game
变量
默认情况下,Javascript不会监视变量更改,因此在您的情况下,您需要再次运行showGame
中的整个逻辑
socket.on('games', function(data){
games = data;
showGame('your_id');
});
谢谢,先生,它需要一些调整,但它似乎工作!如果建议的解决方案有效,请接受作为答案;)
socket.on('games', function(data){
games = data;
showGame('your_id');
});