Node.js, ejs, как обновить переменные без обновления - PullRequest
0 голосов
/ 05 апреля 2019

Кажется, я не могу обернуть голову обновлением определенного 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>
...