这里把promise的写法改成async awit看不懂,
这里把发送axios请求的写法改成async awit看不懂,还有result?.data?.errno是什么意思,为什么要加点
正在回答 回答被采纳积分+1
同学你好,分析如下:
1、首先要知道使用async/await让异步代码同步执行,await是阻塞当遇到await的时候要等await执行完。本质可以理解为是为了简化代码,方便代码阅读和理解。
awai后面的代码会按照同步代码自上而下执行,也就是说当async执行的时候遇到await要等异步的axiso请求完返回数据之后才会向下继续执行。
代码的理解和第一种是一样的只是写法上略微的不同,同学书写习惯了就好了。
同时可以回顾一下咱们课程中关于async await课程,参考地址:https://class.imooc.com/lesson/2132#mid=50714
2、视频中?. 是ES2020(ES11)新特性,意思是尝试访问对象的属性之前检查对象是否存在,防止在对象不存在时访问属性导致代码报错。前面课程中没有讲解过。
举个例子:
obj ?. sex 可以简单的理解为它的作用与三目运算符类似,即: obj ?obj.sex : undefined,如果obj对象存在,那么就返回obj的sex属性值,否则的话返回undefined。
再来分析截图中的代码,result?.data?.errno === 0这句代码的意思就是先判断result对象是否存在,如果存在,再判断result对象下的data属性是否存在,如果存在,再判断result.data下的errno属性值是否等于0。
也可以结合参考官方网站进行理解。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星