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

时间:2016-08-04 15:42:01

标签: javascript architecture redux electron

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

在调用器中,API调用和操作的总体数量似乎有点太多了,所以我在这里询问是否有更好的设计模式。

只是为了给你一个想法,这是我应该完成这项任务的操作:

  1. [API调用]从远程服务获取文件夹列表
  2. [API调用]为每个文件夹,获取内容列表
  3. [FS]:验证本地内容是否存在以及与远程内容相同的版本
    • [API调用],如果没有,请下载内容
    • [FS]将内容保存到文件系统
  4. 涉及的文件夹数量从10到30不等,内容可以轻松达到100或更多。

    关键点:

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

    任何关于我可以放置这一堆代码的想法,同时仍然保持我的代码可读和可维护?应该是减速器,动作创建器,容器组件,演示组件还是别的什么?

    谢谢!

1 个答案:

答案 0 :(得分:0)

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