setTimeout和setInterval方法皆有可选的第三参数

2020-07-201551次阅读javascript

setTimeout和setInterval方法皆有可选的第三参数,一旦定时器到期,第三参数会作为参数传递给function。

var timeoutID = scope.setTimeout(function[, delay, arg1, arg2, ...]);

arg1, ..., argN(可选):附加参数,一旦定时器到期,它们会作为参数传递给function。

简单的例子:

function timeout(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, ms, 'done');
  });
}

timeout(100).then((value) => {
  console.log(value);
});


需要注意的是,IE9及更早的IE浏览器不支持向回调函数传递额外参数。如果你想要在IE中达到同样的功能,你必须使用一种兼容代码polyfill

上一篇: 使用Proxy实现观察者模式  下一篇: Flexbox弹性布局中的文本省略号实现  

setTimeout和setInterval方法皆有可选的第三参数相关文章