您的位置:首页技术文章
文章详情页

javascript - 请问下面这个promise为什么会返回这个值?

【字号: 日期:2023-09-21 14:36:59浏览:44作者:猪猪

问题描述

function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, ’done’); });}timeout(100).then((value) => { console.log(value);});

请问为什么会返回’done’,setTimeout不是只有两个参数?为什么timeout执行后 resolve会拿到’done’

问题解答

回答1:

https://developer.mozilla.org...

向延迟函数传递额外参数的功能

回答2:

setTimeout 第一个参数是回掉函数,第二个是延迟回掉的时间,第三个参数之后就是向回掉函数的参数。你的这种写法就相当于

setTimeout(function () { resolve(’done’)}, ms)

标签: JavaScript
相关文章: