Redux重载:我应该在哪里执行多个文件的下载并保存到FS

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

本文关键字:下载 保存 FS 文件 重载 我应该 在哪里 执行 Redux      更新时间:2023-09-26

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

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

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

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

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

要点:

  • 用户在此操作期间没有使用应用程序,因此不需要网络工作者或其他异步黑魔法
  • 同步可以通过另一种语言的外部脚本来完成,但为了便于分发和设置,我宁愿将所有逻辑保留在一个应用程序中
  • 上面标记为[API调用]的所有点在我当前的设置中都是异步的,因此涉及到一些非琐碎的回调管理

你知道我可以把这整堆代码放在哪里,同时保持代码的可读性和可维护性吗?它应该是减速器、动作创建者、容器组件、表示组件还是其他组件?

谢谢!

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