javascript - 如何定义 setInterval 函数

标签 javascript

<分区>

我将 V8 与 C++ 结合使用,未定义 native 窗口 setInterval 函数。

在纯 js 中创建类似于原生 setInterval 的东西的算法是什么?

最佳答案

假设 setTimeout 可用(不太可能,但您没有指定):

function setInterval(fn, t) {
  let id = {};

  function wrapper() {
    id.timeout = setTimeout(wrapper, t);
    fn.apply(this, arguments);
  }

  id.timeout = setTimeout(wrapper, t);

  return id;
}

function clearInterval(id) {
  clearTimeout(id.timeout);
}

关于javascript - 如何定义 setInterval 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41066501/

相关文章:

javascript - 如何在一个 AngularJS 指令中转换 jQuery 函数?

JavaScript 函数别名似乎不起作用

javascript - 在 Alfresco 中创建 JavaScript 工作流程

javascript - 哪些 html 标签支持 onload/onerror javascript 事件属性?

javascript - 异步任务完成后写入文件

javascript - 如何重新加载具有链接 hasMany 关系的异步?

javascript - 在其他 Div javascript 中动态创建 Div

javascript - findByIdAndRemove() 废弃消息

javascript - 需要帮助在悬停时显示 div

javascript - 不要为触摸触发 onclick - Javascript