如何创建超时
How can Create timedown
我想用 mongoose 创建一个 timedown 并在时间结束时激活一个函数。
我有一个测验,我想在时间结束时从测验页面注销。用nodejs
实现的代码
我会说创建一个令牌 (jwt),包括在服务器上开始的测验时间戳,user_id 和 quiz_id,并将其传递给客户端应用程序。然后,您可以使用本机 js 函数勾选 ejs 应用程序本身的计时器 setInterval()
,并且可以在计时器时间达到测验到期时间时自动触发退出测验页面。
对于每次提交的答案,您可以将测验启动时创建的令牌与提交详细信息一起传递给服务器,以便服务器可以验证该令牌是否仍然有效(根据测验到期时间)。因此,到时间到期时,服务器将不再接受该特定测验的答案,因为令牌已过期。
您可以根据需要包含业务逻辑,这是针对您的一般问题的更一般的答案。 (这可能不是实施测验的最佳方式,但这适用于最少的服务器请求。)
你可以试试这个:
// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2022 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
<p id="demo"></p>
这是 js/dom 的 js 超时示例。
你可以很容易地用你想要的任何变量来改变document.getElementById()。
我想用 mongoose 创建一个 timedown 并在时间结束时激活一个函数。 我有一个测验,我想在时间结束时从测验页面注销。用nodejs
实现的代码我会说创建一个令牌 (jwt),包括在服务器上开始的测验时间戳,user_id 和 quiz_id,并将其传递给客户端应用程序。然后,您可以使用本机 js 函数勾选 ejs 应用程序本身的计时器 setInterval()
,并且可以在计时器时间达到测验到期时间时自动触发退出测验页面。
对于每次提交的答案,您可以将测验启动时创建的令牌与提交详细信息一起传递给服务器,以便服务器可以验证该令牌是否仍然有效(根据测验到期时间)。因此,到时间到期时,服务器将不再接受该特定测验的答案,因为令牌已过期。
您可以根据需要包含业务逻辑,这是针对您的一般问题的更一般的答案。 (这可能不是实施测验的最佳方式,但这适用于最少的服务器请求。)
你可以试试这个:
// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2022 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
<p id="demo"></p>
这是 js/dom 的 js 超时示例。 你可以很容易地用你想要的任何变量来改变document.getElementById()。