axios在接口获取到值后再判断逻辑

  • 需求:代码逻辑需要axios调接口返回后根据具体值再做判断
  • 一个流程需要调多个接口判断执行,axios不提供同步执行
// await后面的Promise可以改为需要调用的接口,通过接口的返回值赋值给resolveValue,最后返回Promise包裹的resolveValue
// 条件1
async function requestCondition1() {
  let resolveValue = null
  await new Promise((resolve, reject) => {
    resolve(true)
  }).then((res) => {
    resolveValue = res
  })
  return new Promise((resolve, reject) => {
    console.log('console 3')
    resolve(resolveValue)
  })
}
// 条件2
async function requestCondition2() {
  let resolveValue = null
  await new Promise((resolve, reject) => {
    resolve(true)
  }).then((res) => {
    resolveValue = res
  })
  return new Promise((resolve, reject) => {
    console.log('console 6')
    resolve(resolveValue)
  })
}

console.log('console 1')
// 执行逻辑判断
requestCondition1().then(res1 => {
  // 已获取到res的值,执行requestCondition1之后的逻辑
  console.log('console 4')
  console.log('console 5', res1)
  if (res1) {
    // 满足条件1,执行下面的
    requestCondition2().then(res2 => {
      console.log('console 7')
      // 满足条件2,执行下面的
      if (res2) {
        
      } else {
        // 满足条件2,执行下面的
      }
    })
  } else {
    // 不满足条件1
  }
})
console.log('console 2')

posted @   jiazq  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示