TypeScript, Angular4 定时器(订单30分钟取消)如何最合理?

发布于 2022-09-06 19:54:27 字数 621 浏览 12 评论 0

如题。
当前的方案是 后台传给前台一个字段值为: 1800 ,其余由前端处理。这样合理吗?一般采用什么方案?

若前端做,至少要防止刷新。

找了一段前端代码,用window属性的,在linux平台测没出来

var maxtime;
if(window.name==''){
maxtime = 6*60;
}else{
 
maxtime = window.name;
}
 
function CountDown(){
if(maxtime>=0){
var  minutes = Math.floor(maxtime/60);
var  seconds = Math.floor(maxtime%60);
var  msg = "请在 "+minutes+"分"+seconds+"秒 内完成支付";
document.all["timer"].innerHTML = msg;
//if(maxtime == 5*60) alert('注意,还有5分钟!');
 
--maxtime;
window.name = maxtime;
}
 
else{
clearInterval(timer);
alert("订单已取消!");
} 
}
var  timer = setInterval("CountDown()",1000);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

智商已欠费 2022-09-13 19:54:27
  1. 后台在创建时计算一个超时过期时间,把过期时间传给前端(如前端时间不准可同时传递服务器当前时间,前端根据浏览器获得的本地时间和服务器时间修正时间差)
  2. 前端获取当前时间后通过计算过期时间-当前时间来计算时间差显示倒计时。如果前端要显示时间倒计时就重复执行 过期时间-当前时间
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文