初学axios,异步请求

问题出现

本人最近在学axious,在尝试写一个小demo的时候,发现了如下问题
image

初步猜想

根据报错提示信息,可以看到是说我30行的jokes数组没有定义, 我最开始想到的是作用域的问题,可发现貌似发现作用域并没有问题
根据别人的建议(建议我把for循环放到then方法里)

问题解决

根据别人的建议,发现果然可行,并没有发现报错,并且成功发送请求
image

分析问题原理以及总结

后来通过了解得知axios请求默认是异步请求 , 出现上述的问题的原因是:
由于是异步请求, 而js的执行是同步的,所以在js直接不等待请求响应返回数据(因为是异步请求,js无需等待请求的响应)就直接执行了for循环的代码,所以导致了jokes是为定义的, 故将for循环放入响应回调函数中执行才能保证添加dom结点的操作是在请求响应返回数组后执行

posted @ 2022-03-17 00:13  南城小友  阅读(213)  评论(0编辑  收藏  举报