redux-saga同时执行多个任务被阻塞了

发布于 2022-09-11 20:44:43 字数 1532 浏览 15 评论 0

如下所示,我执行了好多任务,但是call是阻塞式的,所以我必须等待所有接口返回数据,这样一来页面就感觉好卡,请问下有什么方法,既可以同时执行多个任务,又可以不被阻塞的方法吗?我用fork不行

    const [
      age,
      culture,
      narcotics,
      narcoticsPo,
      sexzero,
      sexone,
      trend,
      getTotal,
      household,
      foothold,
      city,
      cityin,
      cityout,
      caseTypes,
      radar,
      drugPossessionWay,
      trafficType,
      investigationDepartment,
      trendAnalysis
    ] = yield all([
      call(Apis.selectbyage, action.payload.map),
      call(Apis.culture, action.payload.map),
      call(Apis.narcotics, action.payload.map),
      call(Apis.narcoticsPo, action.payload.map),
      call(Apis.sexzero, action.payload.map),
      call(Apis.sexone, action.payload.map),
      call(Apis.trend, action.payload.map),
      call(Apis.getTotal, action.payload.map),
      call(Apis.household, action.payload.map),
      call(Apis.foothold, action.payload.map),
      call(Apis.city, action.payload.map),
      call(Apis.cityin, action.payload.map),
      call(Apis.cityout, action.payload.map),

      call(Apis.caseTypes, action.payload.map), //案件类型
      call(Apis.radar, action.payload.map), //缴毒质量段
      call(Apis.drugPossessionWay, action.payload.map), //藏毒方式
      call(Apis.trafficType, action.payload.map), //贩运方式
      call(Apis.investigationDepartment, action.payload.map), //破案部门
      call(Apis.trendAnalysis, action.payload.map) //趋势分析

      // call(Apis.foothold, action.payload.map)
      // getTotal
    ]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许仙没带伞 2022-09-18 20:44:43

虽然call是阻塞式的 ,但是all里面的call 是并行运行的,这是官网的介绍 你出现卡顿 应该是某一个接口 拖慢了所有的接口吧
毕竟all需要所有的接口都resolved或者一个接口rejected。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文