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)