Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在每次呈现页面时更改变量_Javascript_Node.js - Fatal编程技术网

Javascript 如何在每次呈现页面时更改变量

Javascript 如何在每次呈现页面时更改变量,javascript,node.js,Javascript,Node.js,我使用以下代码为NodeJS路由中的mongoose查询生成2个时间戳 const endtime = new Date().toISOString(); const endtimehour = new Date(endtime); x = endtimehour.getUTCHours(); const endtimemin = new Date(endtime); y = endtimemin.getUTCMinutes(); starttime = endtime; if (x === 0

我使用以下代码为NodeJS路由中的mongoose查询生成2个时间戳

const endtime = new Date().toISOString();
const endtimehour = new Date(endtime);
x = endtimehour.getUTCHours();
const endtimemin = new Date(endtime);
y = endtimemin.getUTCMinutes();
starttime = endtime;
if (x === 0 && y < 30) {

    starttime = new Date(Date.now() - 86400000);
    starttime.setUTCHours(0, 30, 0, 0);
    console.log(starttime.toISOString());

} else {
    starttime = new Date();
    starttime.setUTCHours(0, 30, 0, 0);
    console.log(starttime.toISOString());

}

这是它第一次完美地计算变量,但在刷新时,它继续使用相同的值。如何确保每次呈现或刷新页面时,它都会选择新值?

将该计算代码放在控制器外部,使其只运行一次。您必须将该逻辑放在控制器内,或者仅将其包装在一个函数和控制器内的调用中。大概是这样的:

const getTimes = () => {
   // put your logic of time calculation here
   return { starttime, endtime };
}

router.get('/users', ensureAuthenticated, (req, res) =>
    const { starttime, endtime } = getTimes();
    Users.find({"when": {"$gte": starttime, "$lt": endtime}}).exec()
      .then(data =>{    
           console.log(endtime);
           console.log(starttime);
   });
}));

在进行此更改后尝试运行服务器时,出现以下错误:const{starttime,endtime}=getTimes();^^语法错误:模块处出现意外标记“const”。_在Object.Module处编译(internal/modules/cjs/loader.js:895:18)。_在Function.Module处加载(internal/modules/cjs/loader.js:815:32)。_在Function.Module处加载(internal/modules/cjs/loader.js:727:14)[nodemon]应用程序崩溃-正在等待文件更改,然后再启动。。。
const getTimes = () => {
   // put your logic of time calculation here
   return { starttime, endtime };
}

router.get('/users', ensureAuthenticated, (req, res) =>
    const { starttime, endtime } = getTimes();
    Users.find({"when": {"$gte": starttime, "$lt": endtime}}).exec()
      .then(data =>{    
           console.log(endtime);
           console.log(starttime);
   });
}));