这更像是"你的意见是什么/我在思考这个问题时是否正确?" 题.
在理解Flux的同时尽量严格,我试图找出XHR调用的位置,处理websockets /外部刺激,路由发生等等.
从我阅读的文章,访谈和浏览facebook示例中,我可以通过几种方式处理这些问题.严格遵循flux,Action创建者是执行所有XHR调用的人,可能PENDING/SUCCESS/FAILURE在请求完成之前和之后触发Actions.
另一个是,来自facebook的Ian Obermiller,所有READ(GET)请求都由Stores直接处理(没有Action创建者/调度员的参与),WRITE(POST)请求由Action Creators处理整个action>dispatcher>store流程.
我们提出/想要坚持的一些理解/结论:
PENDING/PROGRESS(think file uploads)/SUCCESS/FAILURE动作. Action>Dispatcher>Store 调用是严格同步的,以坚持调度无法在内部启动另一个调度以避免链接事件/操作. 我们得出一些结论的一些问题,但我并不完全满意:
如果采用Stores do Reads和Actions to Writes的方法,您如何处理多个Stores可能能够使用来自单个XHR调用的数据的情况?
示例:TeamStore发出的API调用/api/teams/{id}返回类似于:
{
entities: {
teams: [{
name: ...,
description: ...,
members: [1, 2, 4],
version: ...
}],
users: [{
id: 1
name: ...,
role: ...,
version: ...
},
{
id: 2
name: ...,
role: ...,
version: ...
},
{
id: 3
name: ...,
role: ...,
version: ...
}]
} …Run Code Online (Sandbox Code Playgroud)