• 使用 setTimeout 来模拟一个 setInterval


    setTimeout  超时调用;在多少时间 在执行;
     setinterval 每隔多少时间  就调用
    例如:
        setTimeout这个的值是1000,也就是说在页面刷新后,1000毫秒之后才调用这个函数体内的东西
                 setTimeout有一个最低的时间限制,400s
        setinterval的值是1000的话,就是每过1000毫秒执行一次
    
    1 为什么要模拟 ? 2 然后模拟是解决了什么  ?
    3.setinterval  有两个缺点:
        1、setInterval无视网络延迟,只要达到时间,就会进行下一次调用。假设我们在请求一个http接口,在上            一次还未返回结果的情况下,继续发起请求,很有可能的结果就是一次性得到多次同样的结果。当http接口都报错的时候,可能同时出现多次错误提示。或者多次页面刷新的状况。
    2、假设每100毫秒执行一次,若上次执行只花了5ms,则下次执行会在95ms以后。时间并不准确。
    3、即使setInterval调用的方法报错了,他仍然会继续执行。
    
    
    
    // 定时间隔执行
    const myInterval = function(fn, t) {
    const obj = {
    timmer: null
    };
    
    
    (function inner() {
    fn();
    obj.timmer = setTimeout(inner, t);
    })();
    
    
    return obj;
    };
    // 清空定时执行
    const clearMyInterval = function(obj) {
    clearTimeout(obj.timmer);
    };
    
    
    // 使用示例
    let tt = myInterval(() => {
    console.log(1);
    }, 1000);
    // 清空示例
    setTimeout(() => {
    clearMyInterval(tt);
    }, 3000);
  • 相关阅读:
    Codeforces Round #369 (Div. 2)
    poj3189二分图多重匹配
    a 标签传值
    phpStudy 虚拟主机
    wampserver 虚拟主机
    $file函数
    PHP脚本运行时间
    查询timestamp类型数据
    驼峰法
    easyUI导出数据
  • 原文地址:https://www.cnblogs.com/restart77/p/12337040.html
Copyright © 2020-2023  润新知