为什么watchEffect()函数内部的setTimeout()函数能调用watchEffect()函数的返回值?

为什么watchEffect()函数内部的setTimeout()函数能调用watchEffect()函数的返回值?

https://img1.sycdn.imooc.com//climg/6308b18a093a1c6a14890835.jpg

为什么watchEffect()函数内部的setTimeout()函数能调用watchEffect()函数的返回值?watchEffect()函数还没执行完,哪来的返回值让watchEffect()函数调用?

watchEffect()函数和setTimeout()函数谁先执行?

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

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

2回答
电磁护盾 提问者 2022-08-27 12:44:27

我前面说错了。原来stop是watchEffect()函数本身,不是watchEffect()函数的返回值

好帮手慕小李 2022-08-27 09:57:01

同学你好,首先watchEffect它的定义为。立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。

那么既然立即运行那么当逻辑走到延时器就会直接调用它本身。如下:

https://img1.sycdn.imooc.com//climg/6309799709da529b06710290.jpg

https://img1.sycdn.imooc.com//climg/630979ba096b884708060224.jpg


先执行watchEffect(),在执行setTimeout()

祝学习愉快!

  • 提问者 电磁护盾 #1

    是watchEffect()函数执行完之后,并且watchEffect()函数已经有了返回值,才执行setTimeout()函数吗?

    2022-08-27 11:20:09
  • 好帮手慕小李 回复 提问者 电磁护盾 #2

    同学你好,上来就立即执行了watchEffect,逻辑中有setTimeout,代码走到了setTimeout之后就执行setTimeout。

    祝学习愉快!


    2022-08-27 11:23:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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