SOURCE

// 贷款产品
            const loanProductQuery = () => {
              return new Promise((resolve, reject) => {
                    setTimeout(() => {
                      resolve([1,2,3])
                    }, 1000)
                  })
            }
            // 贷款申请查询
            const loanStateQuery = (params) => {
                    return new Promise((resolve, reject) => {
                      setTimeout(() => {
                        console.log('申请',params)
                        if(params==1){
                            reject('申请')
                        }
                        resolve('申请')
                      }, 1000)
                    })
                  } 
            // 申请进度查询
            const applyResultQuery = (params) => {
                    return new Promise((resolve, reject) => {
                      setTimeout(() => {
                        if(params==1){
                            reject('第二个')
                        }
                        resolve('第二个')
                      }, 1000)
                    })
                  }
            
            // 错误处理
            const awaitWrap = (promise) => {
              return promise
                  .then(data => [null, data])
                  .catch(err => [err, null])
            }

            (async () => {
            const [err, loanProduct] = await awaitWrap(loanProductQuery())

            if(loanProduct.length > 0){
              for(let i = 0; i <loanProduct.length;i++){
                console.log('循环-----',i+1)
                let resState, resResult
                [error, resState] = await awaitWrap(loanStateQuery(i+1))
                if(resState){
                  resResult = await awaitWrap(applyResultQuery(i+1))
                  console.log(resResult)
                }
                
              }
            }

            })()
console 命令行工具 X clear

                    
>
console