// 贷款产品
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