位置: 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遍历)

  • 怎样利用宝贝详情内页的优化提升转化率(怎么设计宝贝详情图)

    怎样利用宝贝详情内页的优化提升转化率(怎么设计宝贝详情图)

  • 笔记本电脑键盘没反应怎么办(笔记本电脑键盘更换要多少钱?)

    笔记本电脑键盘没反应怎么办(笔记本电脑键盘更换要多少钱?)

  • 快手有赞订单怎么申请退货(快手有赞订单怎么删除)

    快手有赞订单怎么申请退货(快手有赞订单怎么删除)

  • 户户通模块异常m11怎么办(户户通模块异常m11怎么处理)

    户户通模块异常m11怎么办(户户通模块异常m11怎么处理)

  • 电脑登录微信显示未能登录(电脑登录微信显示网络连接已断开)

    电脑登录微信显示未能登录(电脑登录微信显示网络连接已断开)

  • 紫米头冲苹果伤电池吗(紫米苹果20w)

    紫米头冲苹果伤电池吗(紫米苹果20w)

  • 电脑重启为什么文档浏览记录没有了(电脑重启为什么比开机慢)

    电脑重启为什么文档浏览记录没有了(电脑重启为什么比开机慢)

  • 键盘回车键是什么字母(键盘回车键是什么)

    键盘回车键是什么字母(键盘回车键是什么)

  • tcp流量控制协议是什么(tcp流量控制)

    tcp流量控制协议是什么(tcp流量控制)

  • mac可以连接airpods吗(mac怎么连接airpods)

    mac可以连接airpods吗(mac怎么连接airpods)

  • iqoo可以root吗(自带root的安卓虚拟机)

    iqoo可以root吗(自带root的安卓虚拟机)

  • 完成电子邮件传输的协议是(电子邮件要传输到目的地)

    完成电子邮件传输的协议是(电子邮件要传输到目的地)

  • commander软件干什么的(command app)

    commander软件干什么的(command app)

  • cpu中控制器的主要功能(CPU中控制器的主要功能是)

    cpu中控制器的主要功能(CPU中控制器的主要功能是)

  • 打字框皮肤怎么设置(电脑打字框皮肤怎么设置)

    打字框皮肤怎么设置(电脑打字框皮肤怎么设置)

  • 手机支付密码忘了怎么办(怎么更改手机支付密码)

    手机支付密码忘了怎么办(怎么更改手机支付密码)

  • 苹果怎么设置面容支付(苹果怎么设置面容下载app)

    苹果怎么设置面容支付(苹果怎么设置面容下载app)

  • 为什么电话无权接受呼叫(为什么电话无权接通)

    为什么电话无权接受呼叫(为什么电话无权接通)

  • 如何强制关闭小米降噪(如何强制关闭小米屏幕时间管理功能)

    如何强制关闭小米降噪(如何强制关闭小米屏幕时间管理功能)

  • 手机屏幕不滑怎么办(手机屏幕不滑怎么办,打王者走走停停好烦人)

    手机屏幕不滑怎么办(手机屏幕不滑怎么办,打王者走走停停好烦人)

  • 网速突然变慢该如何解决呢?(网速突然变差是什么原因)

    网速突然变慢该如何解决呢?(网速突然变差是什么原因)

  • 波特兰比尔灯塔处的晨光和海浪,英格兰多塞特郡 (© Lee Pengelly/Getty Images Plus)(波特兰在哪)

    波特兰比尔灯塔处的晨光和海浪,英格兰多塞特郡 (© Lee Pengelly/Getty Images Plus)(波特兰在哪)

  • [YOLOv7/YOLOv5系列算法改进NO.11]主干网络C3替换为轻量化网络MobileNetV3(yolov5m)

    [YOLOv7/YOLOv5系列算法改进NO.11]主干网络C3替换为轻量化网络MobileNetV3(yolov5m)

  • 税控盘注意事项
  • 买充值卡可以开票吗
  • 月末处理工作主要包括
  • 所得税季度交吗
  • 民办学校账务怎么做
  • 固定资产减少当月
  • 开广告公司需要营业执照吗
  • 增值税普通发票需要交税吗
  • 股权转让交的税如何做账
  • 贷款金融资产减值的会计分录怎么写?
  • 高新企业研发费用占比要求
  • 盘亏材料10000元,可以回收的保险赔偿
  • 建筑行业异地预缴增值税
  • 转账支票可不可以挂失止付
  • 企业必须要掌握哪些技能
  • 计提工资怎么做账务处理
  • 增值税核算应设置的会计科目排序
  • 企业支付在哪里
  • 合并企业的增值税税率
  • 破产清算应付账款
  • windows 发布时间
  • 未分配利润是怎么算出来的
  • 用ghost装win10
  • 在win7系统中安装win10
  • kb4592438安装失败
  • 公司出租房屋租金由承租方本人支付
  • 向分公司借款
  • giantantispywaremain.exe是什么进程 有什么作用 giantantispywaremain进程查询
  • php基础入门教程
  • PHP:image2wbmp()的用法_GD库图像处理函数
  • 自然保护绘画
  • 银行承兑汇票贴现率是多少
  • 保险代理人展业成本如何计算
  • 2020年企业报税的详细流程
  • 应收账款账龄如何填写
  • 企业收入总额的计算公式
  • viite
  • 研发费用加计扣除2022政策
  • 织梦如何使用
  • 普票不能抵扣要他干嘛
  • 福利用品可以抵增值税吗
  • 劳务报酬所得项目
  • 土地使用税计入管理费用还是税金及附加
  • 代缴员工个人所得税怎么做账
  • 金税四期上线后如何查虚开
  • 小规模纳税人申报增值税的操作流程
  • 调研费属于什么会计科目
  • 营业外收支的账户有哪些
  • 筹建期间购买的五金工具计入什么科目
  • 扣非净利润增长率
  • 可供出售金融资产和交易性金融资产
  • 企业缴纳社保要下载什么软件
  • 向投资者分配利润或股利为什么减少所有者权益?
  • 怎么冲减多计提的增值税
  • 建筑服务的税率是
  • 存货总账根据什么填列
  • 员工在外餐费怎么做账
  • 5000以下的固定资产一次性计入费用
  • 什么是折旧费
  • 房地产开发企业土地增值税怎么计算
  • mysql中删除表中的数据
  • sql server默认实例
  • win8 侧边栏
  • win10通知栏点击没反应
  • fssm32.exe是什么进程 有什么作用 fssm32进程查询
  • win7禁用了管理员,怎么取消呢
  • ubuntu安装指南
  • 用python写多线性模型
  • js字符串去掉最后两位
  • unity按钮函数
  • 置顶聊天折叠怎么开启
  • unity星球模型
  • 新手入门常用代词有哪些
  • javascript 加法
  • js设置按钮禁用和开启
  • 关于python整数类型
  • 临时占用耕地是否需要缴纳城镇土地使用税
  • 车位过户需要契税发票吗
  • 金融机构取得的利息收入应缴纳增值税的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设