zoukankan      html  css  js  c++  java
  • promiseAll使用

        async fnSubmitTask() {
          const _selectedRowKeys = [...new Set(this.selectedRowKeys)]
          const _notSelectedKeys = [...new Set(this.notSelectedKeys)]
          // console.log('_selectedRowKeys', _selectedRowKeys)
          // console.log('_notSelectedKeys', _notSelectedKeys)
          // // 选中的审核不通过 @1:审核通过,@2:审核不通过
          // if (_selectedRowKeys.length) {
          //   const params = {
          //     review_ids: _selectedRowKeys.join(','),
          //     deal_status: 2
          //   }
          //   this.$api.audit.submit(params)
          //     .then(res => {
          //       this.$message.success('提交成功')
          //       this.pagination.current = 1
          //       this.getImageList()
          //     })
          //     .catch(() => {})
          // }
          // // 未选中的通过
          // if (_notSelectedKeys.length) {
          //   const params = {
          //     review_ids: _notSelectedKeys.join(','),
          //     deal_status: 1
          //   }
          //   this.$api.audit.submit(params)
          //     .then(res => {
          //       this.$message.success(res.msg)
          //       this.pagination.current = 1
          //       this.getImageList()
          //     })
          //     .catch(() => {})
          // }
          const promiseGroup = []
          if (_selectedRowKeys.length) {
            this.loading = true
            const params = {
              review_ids: _selectedRowKeys.join(','),
              deal_status: 2,
            }
            const promiseAdopt = await this.$api.audit.submit(params)
            promiseGroup.push(promiseAdopt)
          }
          if (_notSelectedKeys.length) {
            this.loading = true
            const params = {
              review_ids: _notSelectedKeys.join(','),
              deal_status: 1,
            }
            const promiseReject = await this.$api.audit.submit(params)
            promiseGroup.push(promiseReject)
          }
          Promise.all(promiseGroup)
            .then((res) => {
              this.loading = false
              if (promiseGroup.length) {
                this.pagination.current = 1
                this.getImageList()
              }
            })
            .catch((err) => {
              this.loading = false
              this.$message.error(err)
            })
            .finally(() => {
              this.loading = false
            })
        },

     写法二:

        async fnSubmitTask () {
          const _selectedRowKeys = [...new Set(this.selectedRowKeys)]
          const _notSelectedKeys = [...new Set(this.notSelectedKeys)]
          let code1 = 0
          let code2 = 0
          let result1 = null
          let result2 = null
          let req1 = false
          let req2 = false
    
          const res1 = () =>
            new Promise((resolve, reject) => {
              if (_selectedRowKeys.length > 0) {
                req1 = true
                const params = {
                  material_ids: _selectedRowKeys,
                  deal_status: 2
                }
                this.$api.audit
                  .dealMaterialOrder(params)
                  .then(res => {
                    result1 = res
                    code1 = result1.code
                    resolve()
                    // this.getMaterialOrderList()
                  })
                  .catch(() => {})
              } else {
                resolve()
              }
            })
          const res2 = () =>
            new Promise((resolve, reject) => {
              if (_notSelectedKeys.length > 0) {
                req2 = true
                const params = {
                  material_ids: _notSelectedKeys,
                  deal_status: 1
                }
                this.$api.audit
                  .dealMaterialOrder(params)
                  .then(res => {
                    result2 = res
                    code2 = result2.code
                    resolve()
                    // this.getMaterialOrderList()
                  })
                  .catch(() => {})
              } else {
                resolve()
              }
            })
    
          await Promise.all([res1(), res2()])
          if (code1 === 0 && code2 === 0) {
            if (req1 && req2) {
              this.$message.success(result2.msg)
            } else if (!req1 && req2) {
              this.$message.success(result2.msg)
            } else if (!req2 && req1) {
              this.$message.success(result1.msg)
            }
            if (req1 || req2) {
              if (this.pagination.current !== 1) {
                this.pagination.current = 1
              } else {
                this.getMaterialOrderList()
              }
            }
          } else {
            if (code1 !== 0) {
              this.$message.error(result1.msg)
            } else if (code2 !== 0) {
              this.$message.error(result2.msg)
            }
          }
        },
  • 相关阅读:
    数据库系列之查询(4)
    数据库系列之查询(3)
    数据库系列之查询(2)
    数据库系列之查询(1)
    数据库系列之视图
    数据库系列之数据管理(删除数据)
    数据库系列之数据管理(更新数据)
    数据库系列之数据管理(插入数据)
    数据库管理之数据表管理(2)
    数据库管理之数据表管理(1)
  • 原文地址:https://www.cnblogs.com/dhjy123/p/13474259.html
Copyright © 2011-2022 走看看