冉娃娃
冉娃娃
  • 发布:2025-10-22 22:32
  • 更新:2025-10-22 22:32
  • 阅读:11

【报Bug】uniCloud云对象并行请求遇到未鉴权时,promise状态无法落定

分类:uniCloud

产品分类: uniCloud/App

示例代码:
try {  
    await Promise.all([  
     // 这5个请求都是通过uniCloud云对象发出  
      guestStore.fetchGuests(),  
      eventStore.readEventsByUserId(),  
      ledgerStore.readLedgersByUserId(),  
      recordStore.readRecordsByUserId(),  
      cashGiftStore.fetchCashGifts(),  
    ]);  

    console.log("初始化数据成功");  

    isInitialized.value = true;  
  } catch (error: any) {  
    console.error("初始化数据失败", error);  
    initializationError.value = `Failed to initialize stores: ${error.message}`;  
  } finally {  
    isInitializing.value = false;  
  }

操作步骤:

程序会在onLaunch时初始化应用数据,然后更改全局状态
但由于请求被挂起,导致无法执行await后面的代码以及catch和finally代码都不会被执行

预期结果:

并行请求时正确处理Promise落定状态

PS: 这些模块是否有能够开源出来,发动社区的力量一起维护

实际结果:

未处理

bug描述:

利用Promise.all同时发起5请求,这5个请求都是通过云对象方式进行调用,都需要鉴权
如果某个请求遇到鉴权失败的情况下,会自动弹框提示并且当前请求的Promise进入catch状态
但另外4个请求就一直处于挂起状态

2025-10-22 22:32 负责人:无 分享
已邀请:

要回复问题请先登录注册