H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【前端问题精选】TypeScript, Angular4 定时器(订单30分钟取消)如何最合理?

如题。
当前的方案是 后台传给前台一个字段值为: 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);

回答:

  1. 后台在创建时计算一个超时过期时间,把过期时间传给前端(如前端时间不准可同时传递服务器当前时间,前端根据浏览器获得的本地时间和服务器时间修正时间差)
  2. 前端获取当前时间后通过计算过期时间-当前时间来计算时间差显示倒计时。如果前端要显示时间倒计时就重复执行 过期时间-当前时间

本文地址:H5W3 » 【前端问题精选】TypeScript, Angular4 定时器(订单30分钟取消)如何最合理?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址