最近在看阮大神的es6语法的时候http://es6.ruanyifeng.com/#docs/promise看到promise对象这一章,其中一个例子:
function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done');
});
}
timeout(100).then((value) => {
console.log(value);
});
通过代码可以看出sitTimeout定时器的第三个参数是传到resolve函数中最后通过then方法打印出来了。
之前没这样用过所以查了一下资料,setTimeout方法的第一个参数就是一个代码串或者一个函数,第二个参数设置延时时间,单位是毫秒(ms),第三个及以后的参数则是要作为传入第一个执行函数中的参数存在的。还有一个细节就是定时器方法会返回一个数字,也就是这个定时器的ID,想要取消定时器会用到这个值,可以定义一个变量来接收这个定时器的返回值。
有时候很多小细节是很容易就被我们忽略了,看到了就记录积累一下。
参考资料:菜鸟教程https://www.runoob.com/jsref/met-win-settimeout.html