首页 > 解决方案 > 一段时间后重定向到另一个页面

问题描述

我正在构建一个测验应用程序,所以我必须在时间到期后结束测试。

我存储:

我怎么知道时间到了以便我重定向用户?

标签: javascriptreactjs

解决方案


您可以使用setTimeout()一段时间后执行代码。

const second = 1000;
const minute = 60 * second;
const hour = 60 * minute;
const allowed_time = 2 * hour + 15 * minute;

setTimeout(function () {
  // redirect user
}, allowed_time);

或者,如果您没有持续时间,而是具体的结束时间。

const allowed_time = Date.UTC(2021, 8, 9, 17, 30) - Date.now(); // 21-08-17 17:30

此答案假定您不超过最大延迟值。

最大延迟值

包括 Internet Explorer、Chrome、Safari 和 Firefox 在内的浏览器在内部将延迟存储为 32 位有符号整数。当使用大于 2,147,483,647 毫秒(约 24.8 天)的延迟时,这会导致整数溢出,从而导致立即执行超时。


推荐阅读