下面我有一些 redux 实现,我想从概念上概括一下。
我想在后端使用 redux 来帮助维护代码的控制流。 getRequirerDir
、getPathResolved
和 getModuleResolved
下面有一些简单的函数。我想使用 redux 中的操作将这三个函数链接在一起,并且我想构建一个具有返回值的对象。其中之一是 promise 。我已经实现了 redux thunks。
const start = (moduleString, requirer) => {type: 'START', moduleString, requirer}
const moduleString = './index.js'
const requirer = ''
store.dispatch(start(moduleString, requirer))
const getRequirerDir = (requirer) => path.dirname(requirer)
const getPathResolved = (requirerDir, moduleString) => path.resolve(requirerDir, moduleString)
const getModuleResolved = async (pathResolved) => await ModuleString.resolve(pathResolved)
// starting state
// {}
// ending state
// {moduleString, requirer, requirerDir, pathResolved, moduleResolved}
最佳答案
注意:这可能无法完全回答您的问题。
这是一个有趣的问题。我注意到您自己已经完成了预期的实现。对此表示敬意。但是,在后端维护应用程序状态是一种不好的做法。但有些情况下您可能希望暂时保持状态。如果这种状态持续的时间较长,我建议你使用redis。
如果不是,有不同的方法可以解决您的问题。我能想到的最适合您的用例的是 SAGA。使用 Sagas,您可以将应用程序编写为状态机。这个概念也被用于实现 Redux-Saga 库。但是,您可能希望手动实现 Sagas 或使用专门为 NodeJs 设计的 Saga 库。
关于javascript - 链接操作并使用 redux 构建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553646/