加await和不加的效果

位置:首页 / 技术中心 / 杂项

杂项 Admin 2025-12-17 14:08:11 92

第一种情况

    let {completeProjects,volunteerProjects} = await this.getActivityList(obj)
    console.log(completeProjects,volunteerProjects,'completeProjects,volunteerProjects');
第二种情况

    let {completeProjects,volunteerProjects} =  this.getActivityList(obj)
    console.log(completeProjects,volunteerProjects,'completeProjects,volunteerProjects');
共用方法

  async getActivityList(obj){
    const res =await request({
      url: '/applet/org/activity/selectVolunteerActivityList',
      method: 'post',
      data: {
        ...obj
      }
    })
    console.log("已进入前",res)
    if(res.data.code==200){
      console.log("已进入")
      // 保存完整的活动数据,包括积分信息
      const completeProjects = res.data.rows;
      // 格式化picker需要的数据
      let volunteerProjects = res.data.rows.map(item=>{
        return {text:item.activityName,value:item.id,activityEndTime:item.activityEndTime}
      })
      // 过滤掉结束时间已超过24小时的活动
      volunteerProjects = volunteerProjects.filter(item => this.isAfter24Hours(item.activityEndTime));
      console.log(volunteerProjects,'内部数据')
      return {completeProjects,volunteerProjects}
    }
  },
效果:第一种情况可以打印出值,第二种情况没值

结论:await起到同步的效果,虽然接口的底层依旧是异步,但是加了await可以有效避免回调地狱

引用:https://www.doubao.com/thread/a0f1abe6a63ec

          https://www.doubao.com/thread/wf2c76c8ee6ccc765

18455111359 扫描二维码