function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); }); } timeout(100).then((value) => { console.log(value); });
請問為什麼會回傳'done',setTimeout不是只有兩個參數?為什麼timeout執行後 resolve會拿到'done'
'done'
https://developer.mozilla.org...
向延遲函數傳遞額外參數的功能
setTimeout 第一個參數是回掉函數,第二個是延遲回掉的時間,第三個參數之後就是向回掉函數的參數。你的這種寫法就相當於
setTimeout(function () { resolve('done') }, ms)
https://developer.mozilla.org...
setTimeout 第一個參數是回掉函數,第二個是延遲回掉的時間,第三個參數之後就是向回掉函數的參數。你的這種寫法就相當於