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

发布于 2022-09-04 22:00:15 字数 299 浏览 26 评论 0

function timeout(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, ms, 'done');
  });
}

timeout(100).then((value) => {
  console.log(value);
});

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

自此以后,行同陌路 2022-09-11 22:00:15

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

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

醉梦枕江山 2022-09-11 22:00:15

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

setTimeout(function () {
    resolve('done')
}, ms)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文