js实现定时刷新,并设置定时器上限

定时器

在js中,有两种定时器:

  1. 倒计时定时器
    倒计时定时器,也叫延时定时器或一次性定时器
    功能:倒计时多长时间后执行某个动作
    语法:setTimeout(function, timeout);
    返回值:int类型,当前定时器是页面的第几个定时器,就返回几
    执行频率:只执行一次

    var timer2 = setTimeout (function(){
    console.log("倒计时定时器执行了"); // 2秒后执行,仅执行一次
    }, 2000);

  2. 间隔定时器
    间隔定时器,也叫反复性定时器或间歇性定时器
    功能:每间隔多长时间就执行某个动作
    语法:setInterval(function, timeout);
    返回值:int类型,当前定时器是页面的第几个定时器,就返回几
    执行频率:只要不关闭,会一直执行

    var timer2 = setInterval(function(){
    console.log("间隔定时器执行了"); // 每隔2秒执行一次
    }, 2000);

  3. 实践应用
    在PC端扫码支付的时候,可以通过倒计时定时器和间隔定时器来实现对订单支付状态的感知。比起通过websocket双向通信,更简单,几行代码就可以搞定

    // 倒计时定时器,假设支付订单失效时间是5分钟,那么设置一个倒计时定时器,从发起支付后开始倒时间,超过5分钟后,支付失败,跳转到订单明细页面
    setTimeout(function () {
    window.location.href = '订单明细页面';
    }, 300000);
    // 间隔定时器,每间隔2秒查询一次订单支付状态,若订单支付成功,跳转到订单明细页面
    setInterval(function() {
    $.ajax({
    url: '查询订单支付状态',
    type: 'get',
    dataType: 'json',
    data: {order_id: order_id},
    success: function (data) {
    if (data === 1) {
    window.location.href = '订单明细页面';
    }
    }
    })
    }, 2000);

相关推荐
不做Java程序猿好多年2 小时前
Java中 String、StringBuffer、StringBuilder 的区别详解
开发语言·python
会周易的程序员2 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
笨蛋不要掉眼泪2 小时前
Java虚拟机:常用参数
java·开发语言·python
带娃的IT创业者2 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
happy_0x3f2 小时前
前端应用的离线暂停更新策略
开发语言·前端·php
shylyly_3 小时前
C++中的类型转换
开发语言·c++·匿名对象·隐式类型转换·拷贝优化
新中地GIS开发老师3 小时前
零基础WebGIS开发入门 | GeoJSON数据持久化
前端·javascript·gis·webgis·三维gis开发
北冥you鱼3 小时前
Go 语言新手扫盲:指针 * 和 & 使用场景详解
开发语言·后端·golang
cui_ruicheng3 小时前
Python数据分析(一):数据分析概述与环境搭建
开发语言·python·数据分析
blns_yxl4 小时前
正则驱动实时表单验证(HTML+CSS+JS+正则)
javascript·css·html