最熟悉的地方,往往會忽略一些細節。就比如 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 介紹這個方法細節的。
我在這里筆記一下,加深印象。