function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done');
});
}
timeout(100).then((value) => {
console.log(value);
});
請問為什麼會回傳'done'
,setTimeout不是只有兩個參數?為什麼timeout執行後 resolve會拿到'done'
某草草2017-05-16 13:32:47
setTimeout 第一個參數是回掉函數,第二個是延遲回掉的時間,第三個參數之後就是向回掉函數的參數。你的這種寫法就相當於
setTimeout(function () {
resolve('done')
}, ms)