老师这里为什么不是resolve()

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2024-04-03 09:14:17

同学你好,setTimeout的第一个参数,最常见的是“函数”形式。即第一个参数写成函数,该函数中的内容,就会在延时时间到后,执行。所以这里,不能写resolve()。写resolve()就是直接调用resolve,不会等延时了。写成resolve,那resolve中的代码,会在延时到了后执行,即延时到了,Promise的状态再改变。

这种写法,同学重点留意一下就行。

祝学习愉快!

  • 提问者 慕粉1112348 #1

    https://img1.sycdn.imooc.com/climg/660d449f09a08fff07980090.jpg

    老师这里还是不太理解啊,写resolve()是直接调用resolve,不也是执行里面的代码,为什么写成resolve就是延时到了后执行

    2024-04-03 20:00:50
  • 好帮手慕久久 回复 提问者 慕粉1112348 #2

    注意“延时”和“直接”两个词语。写成resolve,会在“延时时间到,再调用resolve”;写成resolve(),是“直接、立刻执行,不会等待延时延时”。

    这里,就是setTimeout的用法,人家就是这么规定的,记住就行了。

    2024-04-07 09:29:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师