gpt4 book ai didi

javascript - React 和 FLUX - 我将在 Web 应用程序中的哪里实现服务器例程?

转载 作者:行者123 更新时间:2023-12-03 05:50:32 26 4
gpt4 key购买 nike

我最近开始学习 MERN 堆栈(MongoDB、Express、React、Node)和 FLUX。我已经使用它大约两周了,我真的很喜欢它。

我对FLUX的理解是依赖于以下步骤:

  1. Actions: these are the payloads with some data and some context (type) in short objects, these are created by some helper functions as a result of an activity in the view(mostly). For example when user clicks on an add button, we will create an action which will contain infomation to be added and the context. All actions are sent to the dispacher.

  2. Dispatcher: dispatcher works like a global hub which triggers all the listeners rgistered to it whenever an action is sent to it.

  3. Stores: stores register themselves with dispatchers, when dispatcher broadcasts an actions arrival, stores update themselves if that action is relavant to those stores, and emit a change event which causes UI to get updated.

  4. Views: Views are the html rendered components.

每个步骤在我创建的简单待办事项列表应用程序中都有自己的目录。

我的问题是:

如果我想运行一个单独的例程,例如页面加载例程,检查自上次更新记录以来是否已经过了一天,并根据该逻辑在服务器/数据库上执行某些操作。

例如,从页面加载中调用此例程的最佳方法是什么?

感谢任何帮助或建议,提前谢谢您。

最佳答案

在我看来,最好的方法是让您的服务器路由为应用程序的页面提供服务,还包含检查记录并进行更新的逻辑(此检查/更新可能应该是一个异步过程,以免延迟应用程序的服务)。这样您就可以将逻辑保留在服务器端(这是可能的,因为它不依赖于您的用户“执行”除请求页面之外的任何操作)。

编辑:详细说明我假设您的服务器代码中有类似的内容:

app.get('/', function (req, res) {
res.send('index');
});

这会变成这样:

app.get('/', function (req, res) {
//make child process that calls someServerRoutine(req);

res.send('index');
});

someServerRoutine(req){
var record = getRecordBasedOnSomeRequestData(req);
if(someCheckOnRecord(record)) doSomething();
}

在此处了解有关 Node 子进程的更多信息:https://nodejs.org/api/child_process.html

EDIT2:重组代码

关于javascript - React 和 FLUX - 我将在 Web 应用程序中的哪里实现服务器例程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com