您的当前位置:首页正文

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

2024-11-30 来源:个人技术集锦

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

  • Promise
  • Generator

- async

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

()

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

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

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
显示全文