Redux 繁重工作:我应该在哪里执行多个文件的下载和保存到 FS?

Redux heavy lifting: where should I perform the download and saving to FS of multiple files?

我有一个 React+Redux 应用程序(使用 electron 构建和分发),每天一次,在晚上的给定时间,应该下载多个文件并将其保存到用户的文件系统中。

在我看来,API 调用和操作总数似乎有点太多,无法在 reducer 中完成,所以我在这里询问是否有更好的设计模式。

只是为了给你一个想法,以下是完成此任务我应该执行的操作:

  1. [API调用]从远程服务获取文件夹列表
  2. [API调用]每个文件夹,获取内容列表
  3. [FS]: 验证本地内容是否存在以及是否与远程内容相同
    • [API调用]如果没有,下载内容
    • [FS] 将内容保存到文件系统

涉及的文件夹数量从10个到30个不等,内容很容易达到100个甚至更多。

要点:

知道我可以把这整堆代码放在哪里,同时仍然保持我的代码可读和可维护吗?它应该是 reducer、action creator、容器组件、展示组件还是其他?

谢谢!

我会为此任务创建一个 redux-saga。查看自述文件,它很好地说明了它是什么。一开始可能很难理解,但最终你会得到一个易于阅读和测试的代码。