终极异步解决方案async,await以及异步并发处理方案

前端js的传统异步解决方案及时回调,but我们亲爱的es6新增了三种解决方案:

  • Promise
  • Generator

- async

之前项目中一直是用promise来解决,vue项目中的axios其实也是返回的Promise对象,async其实算是Generator的语法糖,这次我们不讲Promise 和Generator,因为对async一直理解不是很透彻,拿一个项目中的实例改造下async:

此项目用的vue+elementUI,这里是一个CRM管理了系统,客户档案信息管理模块,由于信息比较庞大,分成三个标签页,三个单独的接口信息,自然分成三个子组件。

look()

其中当父组件点击提交按钮时,会分别请求三个接口

  • 第一个接口信息需要验证,第二三个接口信息不需要验证
  • 只有当第一个请求成功之后,才会请求后面两个,
  • 当后两个请求成功之后返回上一页。

index.vue



    父组件点击提交触发子组件submit事件

    submitAll() {
        this.$refs.baseInfo.submit()
        /*if (this.buyer_info) {
            this.$refs.businessInfo.submit()
            this.$refs.chainInfo.submit()
            this.$router.go(-1)
        }*/
    },

baseInfo.vue

    *提交第一个子组件信息*

    submit() {
      this.$refs['baseForm'].validate((valid) => {
          if (valid) {
            this.handleParams()
            axios.post('/v2/buyer/createBuyerInfo',this.baseForm).then(res =>{
                if(res.data.code == 1) {
                    this.$emit('isOK',true)
                } else {
                    this.$message({
                        sh
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值