最熟悉的地方,往往会忽略一些细节。就比如 setTimeout 函数,做前端开发的同学都会很熟悉这个函数,经常使用这个函数,但是知道这个函数还有第三个参数的小伙伴可能就不多了。起码我在阅读阮老师的 es6 之前是不知道的。阮老师的es6的primise章节里有这样一段代码。
function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); }); } timeout(100).then((value) => { console.log(value); });
看到那个 done 参数,我有点蒙。于是我在chrome 的console 里执行了一下这个代码,居然打印了 done。这时大概明白是怎么回事了,想问问为什么。w3school里也没有介绍这个第三个可选的参数。搜了 setTImeout 参数,才有了https://www.cnblogs.com/leaf930814/p/6828588.html 介绍这个方法细节的。
我在这里笔记一下,加深印象。
A pure heart will go far.