初学axios,异步请求
问题出现
本人最近在学axious,在尝试写一个小demo的时候,发现了如下问题
初步猜想
根据报错提示信息,可以看到是说我30行的jokes数组没有定义, 我最开始想到的是作用域的问题,可发现貌似发现作用域并没有问题
根据别人的建议(建议我把for循环放到then方法里)
问题解决
根据别人的建议,发现果然可行,并没有发现报错,并且成功发送请求
分析问题原理以及总结
后来通过了解得知axios请求默认是异步请求 , 出现上述的问题的原因是:
由于是异步请求, 而js的执行是同步的,所以在js直接不等待请求响应返回数据(因为是异步请求,js无需等待请求的响应)就直接执行了for循环的代码,所以导致了jokes是为定义的, 故将for循环放入响应回调函数中执行才能保证添加dom结点的操作是在请求响应返回数组后执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了