美文网首页
setTimeout、setInterval被遗忘的第三个参数

setTimeout、setInterval被遗忘的第三个参数

作者: 初夏倾城 | 来源:发表于2018-09-10 23:17 被阅读0次

    看到ES6Promise的时候,发现setTimeout和setInterval这些函数传了三个参数,以往的印象中,只用到了两个参数。

    function timeout(ms) {
      return new Promise((resolve, reject) => {
        setTimeout(resolve, ms, 'done');
      });
    }
    
    timeout(100).then((value) => {
      console.log(value);
    });
    

    这里resolve代表传入的function,ms代表时间,第三个以后的参数是作为第一个func()的参数传进去。

    看一下源码

    image.png

    写一个demo测试一下:

    setTimeout((x,y,z)=>console.log(x+y+z),2000,3,4,5);
    

    结果2s后输出12,果真如此。

    相关文章

      网友评论

          本文标题:setTimeout、setInterval被遗忘的第三个参数

          本文链接:https://www.haomeiwen.com/subject/jhzegftx.html