位置: IT常识 - 正文

解决axios异步请求问题(异步变为同步)(axios异步请求数据)

编辑:rootadmin
解决axios异步请求问题(异步变为同步) 遇到的问题

推荐整理分享解决axios异步请求问题(异步变为同步)(axios异步请求数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:async异步请求,axios处理异常,异步处理失败提示,async await异步请求,async异步请求,axios处理异常,async await异步请求,axios处理异常,内容如对您有帮助,希望把文章链接给更多的朋友!

在目前一个需求中,我需要等待axios请求完成后,判断请求是否出现异常,然后来判断是否关闭弹窗

修改后大概代码如下:

async submitForm() { let flag = false //表单验证,默认通过 let formValidation = true this.$refs['vForm'].validate(valid => { if (!valid){ formValidation = false } //TODO: 提交表单 }) if (formValidation === true){ //这里需要使用await,否则不会等待该方法运行完成 await insertIllegalInfo(this.formData).then(res=>{ this.$message.success("新增成功") flag = true console.log("新增成功了") console.log(flag) }) } console.log("提交马上返回了") console.log(flag) return flag},

原来在方法中没有使用async和await,由于发送的axios请求是异步请求,所以在请求还没完成的时候submitForm这个方法就已经将flag返回了

这就导致了一个问题,如果我在后端在处理请求的时候出现异常,我在这里无法进行处理

经过百度搜索,发现使用async+await能够解决该问题,将异步方法改为同步方法,在方法前面加上async进行修饰,然后在axios请求前使用await进行修饰即可,这样就不会出现异步的问题

解决axios异步请求问题(异步变为同步)(axios异步请求数据)

这个问题解决后,又出现了一个新的问题,就是我在这里不是返回了一个flag吗,我在另外一个vue页面中需要获取到return返回的这个flag,但是按照正常步骤获取不到

后来经过查询资料后发现了原因,如下:

async 是一个修饰符,async 定义的函数会默认的返回一个Promise对象resolve的值,因此对async函数可以直接进行then操作,返回的值即为then方法的传入函数。

await 也是一个修饰符,await 关键字 只能放在 async 函数内部, await关键字的作用 就是获取 Promise中返回的内容, 获取的是Promise函数中resolve或者reject的值。

async/await 是一种编写异步代码的新方法。之前异步代码的方案是回调和 promise。

async/await 是建立在 promise 的基础上。(如果对Promise不熟悉,我已经着手在写Promise的文章了)

async/await 像 promise 一样,也是非阻塞的。

async/await 让异步代码看起来、表现起来更像同步代码。这正是其威力所在。

主要原因就是async 定义的函数会默认的返回一个Promise对象resolve的值,所以我们需要使用then去进行取值,如下

submitInsertIllegalInfoDialog(){ //重要的是这里,这里调用了上面说的的submitForm方法 this.$refs.insertIllegalInfoDialog.submitForm().then(flag=>{ console.log(flag) if (flag === true){ console.log("马上关闭弹窗了") //这个是来关闭弹窗的 this.insertIllegalInfoDialogVisible = false console.log("重新查询") this.getIllegalInfoList() this.$refs.insertIllegalInfoDialog.resetForm(); } })},总结

学会async和await的使用能够让我在开发vue项目的时候更加灵活,之后在遇到axios异步请求冲突的时候可以参考本篇文章进行解决

本文链接地址:https://www.jiuchutong.com/zhishi/284043.html 转载请保留说明!

上一篇:克卢恩国家公园保护区的山脉和冰川,加拿大育空地区 (© Design Pics Inc/Alamy)(加拿大克卢恩国家公园)

下一篇:js遍历map(js遍历map对象)(js map foreach遍历)

  • 个人网站做推广该做哪些事,哪几点适用于网站推广(个人网站推广app)

    个人网站做推广该做哪些事,哪几点适用于网站推广(个人网站推广app)

  •  中小企业网络营销十项实战技巧(中小企业网络安全解决方案)

    中小企业网络营销十项实战技巧(中小企业网络安全解决方案)

  • oppok9s是什么屏幕(oppok9s是什么屏幕哪里生产的)

    oppok9s是什么屏幕(oppok9s是什么屏幕哪里生产的)

  • 怎样不让群里的人看我的朋友圈(怎样不让群里的人看到我的朋友圈)

    怎样不让群里的人看我的朋友圈(怎样不让群里的人看到我的朋友圈)

  • imoney上传了身份证怎么办(imoney实名)

    imoney上传了身份证怎么办(imoney实名)

  • 信息与数据之间关系描述正确的是(信息与数据之间关系描述不正确的是)

    信息与数据之间关系描述正确的是(信息与数据之间关系描述不正确的是)

  • 苹果手机分辨率要设置多少比较清晰(苹果手机分辨率和安卓手机分辨率)

    苹果手机分辨率要设置多少比较清晰(苹果手机分辨率和安卓手机分辨率)

  • 基带传输和频带传输有什么区别(基带传输和频带传输的区别)

    基带传输和频带传输有什么区别(基带传输和频带传输的区别)

  • 新注册的微信加人对方看不到(新注册的微信加好友显示账号异常)

    新注册的微信加人对方看不到(新注册的微信加好友显示账号异常)

  • 手机发视频怎么没声音(手机发视频怎么不压缩画质)

    手机发视频怎么没声音(手机发视频怎么不压缩画质)

  • 笔记本鼠标突然不能用了(笔记本鼠标突然变得很迟钝为什么)

    笔记本鼠标突然不能用了(笔记本鼠标突然变得很迟钝为什么)

  • 目前哪些手机支持wifi6(目前哪些手机支持磁吸充电)

    目前哪些手机支持wifi6(目前哪些手机支持磁吸充电)

  • 为什么复制链接在淘宝打不开(为什么复制链接跳不出来了)

    为什么复制链接在淘宝打不开(为什么复制链接跳不出来了)

  • 怎么登好友的qq号(怎么登好友的腾讯视频会员)

    怎么登好友的qq号(怎么登好友的腾讯视频会员)

  • 手机买火车票怎么添加乘客(手机买火车票怎么退票退款)

    手机买火车票怎么添加乘客(手机买火车票怎么退票退款)

  • 爱奇艺是什么意思(爱奇艺是啥玩意)

    爱奇艺是什么意思(爱奇艺是啥玩意)

  • iphonex怎么切换广角(iphonex怎么切换多任务窗口)

    iphonex怎么切换广角(iphonex怎么切换多任务窗口)

  • 手机怎么登录智慧团建(手机怎么登录智慧团建网页版)

    手机怎么登录智慧团建(手机怎么登录智慧团建网页版)

  • jkm_al00是什么型号(jkm al00是什么型号)

    jkm_al00是什么型号(jkm al00是什么型号)

  • 苹果手机挡住上面黑屏怎么设置(苹果手机挡住上端黑屏)

    苹果手机挡住上面黑屏怎么设置(苹果手机挡住上端黑屏)

  • 抖音互相关注什么意思(抖音互相关注什么意思呀)

    抖音互相关注什么意思(抖音互相关注什么意思呀)

  • 电脑怎么下载电影到u盘(电脑怎么下载电影到桌面)

    电脑怎么下载电影到u盘(电脑怎么下载电影到桌面)

  • Win11运行怎么打开?Win11运行的两种打开方法(在win11)

    Win11运行怎么打开?Win11运行的两种打开方法(在win11)

  • 斐讯路由器地址是什么如何设置(斐讯路由器地址在哪里看)

    斐讯路由器地址是什么如何设置(斐讯路由器地址在哪里看)

  • 马格达伦群岛洞穴内部,加拿大魁北克 (© Virginie Fréchette/Getty Images)(马格达拉之战)

    马格达伦群岛洞穴内部,加拿大魁北克 (© Virginie Fréchette/Getty Images)(马格达拉之战)

  • python中count函数是什么意思?(python中的count函数)

    python中count函数是什么意思?(python中的count函数)

  • python归并排序的基本思路(python数组合并并排序)

    python归并排序的基本思路(python数组合并并排序)

  • 民办非企业收到捐赠固定资产
  • 杭天金税财务软件多少钱
  • 移动怎么开当月发票
  • 股份有限公司个人所得税缴纳比例
  • 食品销售税务起征点是多少
  • 公司之间房产过户免税条件
  • 如何开商业承兑汇票业务
  • 个人交的社保发票怎么开
  • 支付给员工的讲课费税前列支怎么做?
  • 咨询费发票怎么入账
  • 递延所得税当期所得税费用
  • 公司注销固定资产交什么税
  • 甲供工程选择适用简易计税方法后,36个月
  • 物业公司开停车位费全电发票
  • 公积金贷款利息现在是多少
  • 环评费属于固定资产吗
  • 主营业务净利率和销售净利率一样吗
  • 合同资产对应的成本
  • 亏损的结转分录
  • 与收益相关的政府补助的确认
  • win7为什么现在不能用了
  • uniqpp
  • fpp是什么文件
  • iis防盗链
  • vue ng
  • 前端doctype
  • php自定义函数的关键字是什么
  • 现金日记账的填制要求
  • 小微企业城建税及附加减免优惠
  • 对于异步电动机国家标准规定3kw
  • 写字楼买卖办手续
  • 文心为何意
  • 未达起征点怎么填申报表
  • 供应商的质量扣款应该开什么发票
  • 织梦栏目描述调用
  • mongodb操作数据库
  • 减免税款的会计分录当月做吗
  • 代扣代缴增值税附加税减免政策
  • 出口免税不退税会计分录
  • 银行贷款印花税是什么意思
  • 发放职工福利的会计处理
  • 企业付的房租税费会计分录
  • 个人独资企业需要会计做账吗
  • 一般纳税人登记 核算地址
  • 做账是指做什么
  • 员工工作服扣款
  • 公司买口罩
  • 刷单成本计入什么费用?
  • 主营业务成本包括工资吗
  • 土地作为无形资产还是固定资产
  • 企业获得小微企业补贴
  • 加油费不征税发票可以报销吗
  • 酒店营业额成本比例
  • sql-3
  • mysql 模型
  • grub2引导win10
  • 软件无法卸载怎么办,安装的软件卸载不了怎么办
  • windows7如何启动记事本
  • 错误代码0x8007007B
  • 手机连接电脑win11
  • win10系统如何打开
  • win10系统最新更新
  • opengl画点
  • cocos2dx用什么ide
  • java如何自定义函数
  • linux一共多少命令
  • opengl自学
  • android基础教程
  • node.js使用教程
  • python例题讲解
  • javascriptz
  • jquery时钟插件
  • android基础知识总结
  • javascriptcsdn
  • js实现@功能
  • 发票上的税务号
  • 个体户税务注销
  • 税务局基层党建工作汇报
  • 企业税收怎么收
  • 电费增值税专用发票如何抵税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设