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

  • 打印机没墨怎么显示(打印机没墨怎么取消已打印的任务)

    打印机没墨怎么显示(打印机没墨怎么取消已打印的任务)

  • 小米10有光学防抖吗(小米10光学防抖怎么关闭)

    小米10有光学防抖吗(小米10光学防抖怎么关闭)

  • 抖音连赞评论会限流吗(抖音连赞评论会是什么后果)

    抖音连赞评论会限流吗(抖音连赞评论会是什么后果)

  • 华为p40第一次充电充多久(华为p40第一次充电需要多长时间最好)

    华为p40第一次充电充多久(华为p40第一次充电需要多长时间最好)

  • maxell是什么牌子电池(maxell是什么牌子磁带)

    maxell是什么牌子电池(maxell是什么牌子磁带)

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

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

  • 华为nova7屏幕多大(华为nova7屏幕多少钱)

    华为nova7屏幕多大(华为nova7屏幕多少钱)

  • 手机酷狗音乐怎么复制链接(手机酷狗音乐怎么转换mp3格式)

    手机酷狗音乐怎么复制链接(手机酷狗音乐怎么转换mp3格式)

  • 携号转网后收不到短信(携号转网后收不到第三方验证码)

    携号转网后收不到短信(携号转网后收不到第三方验证码)

  • 为什么连了蓝牙wifi网速慢(为什么连了蓝牙还是手机外放)

    为什么连了蓝牙wifi网速慢(为什么连了蓝牙还是手机外放)

  • 隐身访问听歌有记录吗(隐身访问听歌有播放量吗唱吧)

    隐身访问听歌有记录吗(隐身访问听歌有播放量吗唱吧)

  • 下载速度慢怎么解决(下载速度慢怎么排错)

    下载速度慢怎么解决(下载速度慢怎么排错)

  • 抖音聊天记录多久可以撤回(抖音聊天记录多久就查不到了)

    抖音聊天记录多久可以撤回(抖音聊天记录多久就查不到了)

  • 腾讯微云的用途(腾讯微云的用处)

    腾讯微云的用途(腾讯微云的用处)

  • 抖音使用的歌曲有版权吗(抖音使用的歌曲唱不完是什么原因)

    抖音使用的歌曲有版权吗(抖音使用的歌曲唱不完是什么原因)

  • 苹果xsmax怎么关闭后台程序(苹果xsmax怎么关闭旋转屏幕)

    苹果xsmax怎么关闭后台程序(苹果xsmax怎么关闭旋转屏幕)

  • 手机qq怎么设置密码(手机qq怎么设置聊天背景)

    手机qq怎么设置密码(手机qq怎么设置聊天背景)

  • 荣耀20s有nfc吗(荣耀20s手机有nfc功能么)

    荣耀20s有nfc吗(荣耀20s手机有nfc功能么)

  • 抖音刷不出来新内容怎么回事(抖音为啥刷着刷不出来新的)

    抖音刷不出来新内容怎么回事(抖音为啥刷着刷不出来新的)

  • wps表格转换为文本(wps表格转换为文本怎么做)

    wps表格转换为文本(wps表格转换为文本怎么做)

  • 华为软件一直显示正在安装(华为软件一直显示安装中)

    华为软件一直显示正在安装(华为软件一直显示安装中)

  • power query是什么(power query是啥)

    power query是什么(power query是啥)

  • 苹果蓝牙耳机一代和二代的区别(苹果蓝牙耳机一个能连上一个连不上)

    苹果蓝牙耳机一代和二代的区别(苹果蓝牙耳机一个能连上一个连不上)

  • 百度小程序如何打开(百度小程序如何退出登录)

    百度小程序如何打开(百度小程序如何退出登录)

  • java同步方法的使用(java中同步)

    java同步方法的使用(java中同步)

  • 怎么做掉公司账户的钱
  • 建筑业属于货物行业吗
  • 内涵报酬率和必要投资报酬率
  • 公司被扣货款怎么记账
  • 必须开具增值税专用发票
  • 递延所得税资产是什么
  • 所得税汇算有研发费用可以不享受加计扣除吗
  • 股东投入固定资产进来怎么做账
  • 初级会计职称考试时间
  • 社保滞纳金能否超过本金
  • 老版普通增值税发票还能用吗
  • 本月开了红字发票可以退税吗
  • 善意取得虚开增值税专用发票追征期
  • 工地买东西怎么记账
  • 活动展开方式怎么写
  • 银行承兑汇票如何承兑分录
  • 苹果的mac系统
  • 一家公司各项费用支出
  • 广告公司文化事业费怎么交
  • 生产成本结转库存商品的数量
  • yii2.0使用Plupload实现带缩放功能的多图上传
  • 产品外包装的作用
  • 上个月做无票收入这个月开票,怎么做分录
  • 不吃晚饭多久能瘦下来
  • PHP:eregi_replace()的用法_Regex正则函数
  • 小规模纳税人进口增值税怎么处理
  • 系统win7旗舰版
  • 股权指的是
  • 预收的购货款属于收入吗
  • 微信小程序插件有哪些
  • php做登录界面连接数据库
  • 商品入库进项税额怎么算
  • 淘宝买建材
  • 财行〔2019〕11号代扣代缴手续费的解读
  • ts与js的优缺点
  • HTML常用的表单控件有哪些
  • php charat
  • 出口退税退下来还得缴税吗
  • 事业单位财政拨款收入会计分录
  • java同步操作
  • 筹建期的收入要交企业所得税吗
  • 本期应补退税额就是交钱吗
  • 联营企业属于关联实体吗
  • win10下安装win7启动不了
  • 企业需要购买两种保险吗
  • 企业长期借款的渠道有哪些
  • 基本户收到款不入账
  • 零税率应税服务出口退税
  • 外出经营必须办理外管证吗
  • 记账凭证后面附发票第几联
  • 合适的库存产品包括
  • 施工企业项目部管理人员对外行为的法律后果由谁承担
  • 印花税票 购买
  • 国家规定房屋买卖中介费
  • 小型微利企业年报填什么表
  • mysql存储引擎面试题
  • mysql5717安装详细过程
  • win10系统如何打开运行命令
  • windows10怎样安装
  • 由于您计算机中windows的版本比较
  • ubuntu lnmp环境搭建
  • 苹果mac系统怎么截屏快捷键
  • macbook key
  • 苹果macmimi
  • centos删除virbr0
  • 使用iso镜像文件
  • python图片处理酷炫效果
  • angular2双向数据绑定原理
  • android检测权限是否开启
  • vuex按需加载
  • python中创建自定义函数
  • 绿化项目利润
  • 税务局是什么单位类型
  • 河北省国家税务局电话
  • 如何在电子税务局变更财务负责人
  • 广州酒家月饼抽奖公告最新
  • 重庆市低保查询电话
  • 地税局上班时间是几点
  • 加拿大的环保
  • 北京地税局报税流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设