Кажется, я не могу обернуть голову обновлением определенного div на моей странице без обновления.В настоящее время, если вы обновляете страницу, то, если последнее обновление длилось менее 60 секунд, в базу данных поступает запрос и он получает данные инвентаризации.Однако я хочу, например, динамически получать эту информацию каждые 5 секунд, но не знаю, как
homeController.js
//GET request loads game home page
app.get('/game/:gameid/home', function(req,res){
if(global.gameId == req.params.gameid){
updateInventory().then(function(){
Promise.all([getResourceInventory(), getResourceProduction(), getResourceLevel(), canUpgradeResourceField()]).then(function(data){ //Promise.all returns an array of all resolves from every function called
res.render('GameEngine/home/gameHome', {resourceInventory: data[0],
resourceProduction: data[1],
resourceLevel: data[2],
canUpgradeCrop: data[3][0],
canUpgradeLumber: data[3][1],
canUpgradeOre: data[3][2],
canUpgradeOil: data[3][3]});
});
});
} else{
res.send(500, "Not authorized to view this page.");
}
});
gameHome.ejs
<div class = "container container-fluid resourcesInventory">
<h3>Inventory </h3>
<li> Crop Inventory: <%= resourceInventory[0] %> </li>
<li> Lumber Inventory: <%= resourceInventory[1] %></li>
<li> Ore Inventory: <%= resourceInventory[2] %></li>
<li> Oil Inventory: <%= resourceInventory[3] %></li>
</div>
<div class = "container container-fluid resourcesProduction">
<h3>Production </h3>
<li> Crop Production: <%= resourceProduction[0] %> </li>
<li> Lumber Production: <%= resourceProduction[1] %></li>
<li> Ore Production: <%= resourceProduction[2] %></li>
<li> Oil Production: <%= resourceProduction[3] %></li>
</div>
<div class = "container container-fluid resourcesLevel">
<h3>Level</h3>
<li> Crop: Level <%= resourceLevel[0] %> </li>
<li> Lumber: Level <%= resourceLevel[1] %></li>
<li> Ore: Level <%= resourceLevel[2] %></li>
<li> Oil: Level <%= resourceLevel[3] %></li>
</div>