arr.some使用async只执行一次的问题

91 篇文章 2 订阅
    // 表单校验
    validate () {
      return new Promise((resolve, reject) => {
        if (this.subQuantityRadio === 2) {
          this.subQuantityConfig = []
          resolve('子广告位success+ 关闭状态')
        } else {
          // 子广告位开启状态
          let count = 0
          const subQuantityConfig = this.subQuantityConfig
          // const self = this
          subQuantityConfig.some((item, index) => {
            console.log(index, 'test subspace index -==================')
            if (item.subAdId === '') {
              ++count
              return this.$message.warning('子广告位控量不能为空')
            }
            // 校验子广告位-广告源 + 竞价广告
            const oValidator = async () => {
              try {
                const p1 = this.$refs.subAdBidding[index]
                const p2 = this.$refs.subAdSource[index]
                // 竞价
                const res1 = await p1.validate()
                if (res1) item.common.bidding = self.$refs.subAdBidding[index].bidding
                // 广告源(串行设置)
                const res2 = await p2.validate()
                if (res2) item.common.whole = self.$refs.subAdSource[index].whole
              } catch (err) {
                ++count
                console.log(err, '===子广告位error=====')
              }
            }
            oValidator()
          })
          if (count) return
          if (this.isRepeat(subQuantityConfig)) {
            ++count
            return this.$message.warning('子广告位控量配置不能重复')
          }
          setTimeout(res => {
            count === 0 ? resolve('子广告位success + 开启状态') : reject(new Error('子广告位error'))
          }, 500)
        }
      })
    },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值