redux-saga:如何忽略一个错误并在并行任务中获得其他响应?

2024-06-20

这是我的代码,并行获取多个报告:

function fetchSingleReportRequest(reportId) {
   return axios.get(`/api/${reportId}`)
}

function* fetchReportsInfo({payload: {data: reportIds}}) {
   try {
     const responses = yield all(reportIds.map(reportId => 
      call(fetchSingleReportRequest, reportId)))
   } catch (e) {

   }
}

然而,一个或多个报告可能不存在,但这并不影响结果,该错误可以被忽略。

但是当发生 404 fetch 时,它进入 catch 块,我怎样才能获得其他成功的响应?


将您的 try-catch 逻辑下降到匿名函数中。这样您就可以定义每次调用失败时要执行的操作。例如,我只是返回null在这里失败了。

function fetchSingleReportRequest(reportId) {
   return axios.get(`/api/${reportId}`)
}

function* fetchReportsInfo({payload: {data: reportIds}}) {
  const responses = yield all(reportIds.map(reportId => {
    try {
      return call(fetchSingleReportRequest, reportId)
    } catch (e) {
      return null;
    }
  }));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

redux-saga:如何忽略一个错误并在并行任务中获得其他响应? 的相关文章

随机推荐

  • 使用 c# 的 StrucLayout 和 FieldOffset 表示联合位域

    据我了解 为了在 C 中表示联合 我需要使用 StructLayout LayoutKind Explicit 和 FieldOffset x 属性来指定联合内的字节偏移量 但是 我有一个想要表示的以下联合 并且 FieldOffset a
  • 在 Autodesk Viewer 中查找可见零件的中心点

    请原谅这个问题的模糊性 但是在查看器的模型中 我想知道如何建立可见部分的中心点 当我在带有隐藏部分的模型上调用 fit to view 时 我可以看到查看器中出现一个点 它似乎恰好代表了这一点 可见部分的中心 如何在代码中检索该点的坐标 小
  • 在 Python 中绘制正弦曲线的傅里叶变换

    以下 python 程序绘制正弦曲线 import matplotlib pyplot as plt import numpy as np Canvas plt style use ggplot Frequency Oscillations
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 使用占位符和 ngModel 动态生成输入元素

    我想以角度 2 动态生成输入元素 我有占位符标题数组和值数组 如下所示 在我的组件中 我有两个映射 如下所示 其中两个映射的键相同 将值映射到标题 const placeholderMap fullName Name value Produ
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 如何在读取文件期间从每一行中删除换行符? [复制]

    这个问题在这里已经有答案了 我正在从包含一个 字 行的文件中读取行 例如 dog cat person tree 每个单词还包含一个换行符 n特点 我想将它们读入列表并丢弃换行符 我设计的方法是阅读readlines 然后将列表处理为str
  • 如何处理数据库中的巨大结果集

    我正在设计一个多层数据库驱动的 Web 应用程序 SQL 关系数据库 用于中间服务层的 Java 用于 UI 的 Web 语言其实并不重要 中间服务层执行数据库的实际查询 用户界面只是要求某些数据 并不知道它是由数据库支持的 问题是如何处理
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • Maven:无法传输文件 XXX 返回代码为: 501 ,ReasonPhrase:HTTPS 必需

    我在构建 Maven 项目时收到意外的 501 错误代码 该消息显示需要 HTTPS 但我没有更改我的 settings xml 如何检查我的配置是否发生更改 我怎样才能让事情正常运转 其原因解释于Maven 依赖项失败并出现 501 错误
  • 在这种情况下如何填充 Mongoose?

    const userSchema new mongoose Schema email type String unique true password String notifications notifiId type Schema Ty
  • 使用 Babel.js 将 ES6 箭头函数编译为 Es5

    在查看 Mozilla 文档上的 ES6 箭头函数文档时 我了解到箭头函数应用了严格模式的所有规则 除了在link https developer mozilla org en US docs Web JavaScript Referenc
  • 确定最接近的已知颜色

    我允许我的应用程序的用户选择自定义颜色 并希望有一种方法来显示每种颜色的友好名称 而不是显示十六进制代码的文本表示形式 我如何找到最近的System Drawing Color对于给定的十六进制代码 希望这对某人有帮助 Public Fun
  • 如何正确释放Android MediaPlayer

    我正在尝试向我的 Android 应用程序添加一个按钮 当点击该按钮时它会播放 MP3 我已经让它工作了 但没有办法释放 mediaPlayer 对象 因此即使在我离开活动后它仍然会继续播放 如果我在react 方法之外初始化MediaPl
  • ios swift parse:从 3 个类收集数据

    我有这样的结构 User CardSet 带有指向 User objectId 的指针 user 和 col name 带有点 cards 的卡片到 Card Set objectId 和列 name 我想选择所有卡数据 包括当前用户的卡集
  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 如何在 Symfony2 WebTestCase 中重定向后获取当前 URL?

    使用 Symfony2 WebTestCase 我进行了以下测试 client gt request GET this gt assertTrue client gt getResponse instanceof RedirectRespo
  • “(”字符在 PowerShell 中不起作用

    我无法让它发挥作用 它不喜欢 字符 我如何解决它 Dir Rename Item NewName name replace 如何在 PowerShell 中处理这种类型的特殊字符 vonPryze 对问题的确切原因做了很好的解释 但还有一个
  • 如何在 TypeScript 中定义具有动态属性的对象的类型

    我有一个对象title作为字符串和orderas number 那么上面就会有动态数量的number类型的属性 所以我尝试像下面这样定义它 appraisalGroups Array lt title string order number
  • redux-saga:如何忽略一个错误并在并行任务中获得其他响应?

    这是我的代码 并行获取多个报告 function fetchSingleReportRequest reportId return axios get api reportId function fetchReportsInfo paylo