老师有个疑问

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

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

1回答
好帮手慕小李 2022-05-03 14:23:35

同学你好,这里timeoutTime参数在老师之前封装的ajax中是没有定义过的,所以不存在覆盖的问题,那么针对这个参数只解读为过了30秒后会被判定为超时(这里就是初始值),那么如果用户传递了超时时间,那么会按照用户传递的时间算,不传就是30000。

https://img1.sycdn.imooc.com//climg/6270ca4609c8af8908490349.jpg

祝学习愉快!

  • 提问者 慕数据5191420 #1

    https://img1.sycdn.imooc.com//climg/6272043d09df4fa609280696.jpg

    我看源码默认参数配置设置了timeoutTime

    2022-05-04 12:43:15
  • 好帮手慕慕子 回复 提问者 慕数据5191420 #2

    同学你好,截图defaults.js文件中的代码,是针对之前封装的ajax代码,设置的默认参数,此时timoutTime默认值为0,如下:

    https://img1.sycdn.imooc.com//climg/627220800920c0a824661348.jpg

    而getData.js文件中的代码,是在之前封装的ajax基础上,进一步封装了一个获取数据的方法,options才表示用户传过来的参数,代码中设置的timeoutTime:30000可以理解为是单独又设置了一个默认值,如下:

    https://img1.sycdn.imooc.com//climg/627220ff0903542236701300.jpg

    当用户传递的options参数中有timeoutTime属性,那么,就会覆盖timeoutTime:30000,如果用户传递的options参数中没有timeoutTime,那么就会使用3000这个默认值去覆盖defaults.js文件中的timeoutTime值。

    祝学习愉快~

    2022-05-04 14:47:24
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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