对axios发送异步请求有些疑问
老师,你好,第一个问题:就是在学习axios发送异步请求的时候,resolve和reject都是干嘛用的,是不是一个代表着数据返回成功,一个代表着数据返回失效呢?
这是不是就是所谓的什么全局拦截?
然后我理解的是之后的.then里面放的是请求成功的回调,也就是收到成功之后,在这里进行对成功的操作处理,而.catch里面放的是对失败的一个报错信息提示确定了位置以便可以精准的查看,不知道我这里理解的是否正确?
第二个问题:我看文档也好,项目也好,在发送axios请求的时候,并没有用到所谓的resolve和reject呀,仅仅用的是.then与.catch了
之后我找到一篇说明的文章,不知道是不是跟这个有关系,是不是这是两种写法,哪一种都可以呢?可以这样理解的吗?
文章是这样说明的:
第三个问题:现在JavaScript语法更新到多少了,为什么现在的公司依旧用ES6呢,我看也出来什么7 8的,是 7 8的功能不完善,不流行了吗?要不要学呢?
正在回答
同学你好,这里的promise是异步操作,可以回去复习一下相关课程:https://class.imooc.com/lesson/817#mid=20426
它和axios是有关联的,但并不是一回事,要区分开,如上一条回复中所说:
在发起异步请求的时候用到promise。
关于面向对象问题,什么时候都可以用,简单理解就是当你有两个对象需要实现同样的功能的时候,就可以使用面向对象的方法,简化代码书写。
同学不知道什么时候用,是因为同学自己思考练习的少,编程最重要的还是需要自己多动手,多动脑思考,才可以真正的理解掌握。在实际工作中,完全可以观察下其他人是怎么写的,要适应项目开发习惯。
如果我的回答帮到你,欢迎采纳,祝学习愉快~
同学你好,针对同学的问题,如下解答:
1.resolve和reject是promise中的两个方法,resolve作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
这个不是全局拦截哦,全局拦截是统一的进行判断请求接口,现在我们学习阶段还涉及不到,同学这里做简单了解即可。
另,对于catch和then的理解是正确的,如下。
2.axios对象中,.then()成功回调,.catch()失败回调,常用写法如下:
如果有需要和promise结合的话,写法如下:
同学要区分开着两个,不要混淆;
3.是的,大致上已经出到9~10了,更新迭代是比较快的。因为有一些知识比较新,像同学说的不完善,熟悉掌握的人也不多,因此现在还是es6比较常用。如果同学有兴趣的话,可以了解下新知识哦~
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星