关于请求函数封装的理解

关于请求函数封装的理解

这里的url和data是不是post函数调用传递过去的 /api/user/login和userName


https://img1.sycdn.imooc.com//climg/62830c3309b33e4d07240255.jpg

https://img1.sycdn.imooc.com//climg/62830cc009969e6604320089.jpg


然后返回一个Promise的结果,axios发送post请求后,收到url和data传递过来的参数,然后baseURL和url进行拼接,axios自动设置请求类型,如果响应成功了,post就会返回response.data,就是errno的那个数据,然后被post函数调用并接收,如果失败了就会触发请求失败

这样理解对吗



正在回答

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

1回答

同学你好,理解是对的:

1、url和data,会在调用post方法时对应传入:

https://img1.sycdn.imooc.com//climg/628310aa0918b70f08430178.jpg

2、调用post方法后,实际会执行axios的post方法,即axios发送post请求:

https://img1.sycdn.imooc.com//climg/628310e409d28b6706660251.jpg

post请求如果成功了,就会返回成功的promise对象,同时会接收到响应数据(response.data);否则返回失败的promise对象,并接受错误数据err:

https://img1.sycdn.imooc.com//climg/628311ad095543a005700242.jpg

其余理解都对。

祝学习愉快!

  • https://img1.sycdn.imooc.com//climg/6292ba7009ac7f9c05570490.jpg

    老师,这里有点不能理解,为什么这里返回的是promise实例,到resolve(response)这里如果成功接收到数据,但是没有返回数据,为什么打印出的resulst就是response

    2022-05-29 08:17:11
  • 同学你好, 因为传入resolve方法中的参数reponse,对应的是调用post方法后,打点调用then方法中第一个回调函数的参数,如下:

    https://img1.sycdn.imooc.com//climg/6292e14309a7b68017120546.jpg

    但这里使用await关键字,js底层源码内部进行了处理,调用post方法后,会传入resolve方法中的参数作为返回值,赋值给result。

    https://img1.sycdn.imooc.com//climg/6292e1ed09ac318220341034.jpg

    可以理解为是语法规定好的,所以封装post方法时,不用再添加return返回resolve(response)

    祝学习愉快~

    2022-05-29 11:02:03
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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