Fluxxor / React.JS中的服务电话

时间:2014-12-22 22:04:35

标签: javascript reactjs flux

我对react.jsFluxxor非常陌生,我暂时没有完成网络开发。 :)

我想知道在我的代码中将服务器调用(JQuery $ .ajax())放在哪里? 我的行动只是调度如下的电话:

var actions = {
    onBlubb: function (data) {
        this.dispatch(cmd.BLUBB, data);
},};

然后我有一个商店做了一些更改并调用emit函数来更新视图。整个循环工作正常(查看,行动,调度员,商店)

现在我想我应该把我的ajax调用放在我的商店类中。让我们说我打电话给我的商店" blubbStore"。 但我希望我的商店课程可以测试。这意味着我必须将ajax调用放在另一个基本上执行服务器调用的商店类中......

  • 方法1)...触发成功/失败的动作。此操作在blubbStore
  • 中处理
  • 方法2)...将服务调用响应存储在属性中。然后blubbStore调用" WaitFor"并从这个" service-caller-store"中读取数据。服务电话完成后。

我猜方法2是不可能的,因为WaitFor不等待异步调用?这意味着方法1将成为解决方案吗?

(并且操作应该只发送消息。对吗?)

由于

1 个答案:

答案 0 :(得分:1)

在我个人的观点和经验中 - 将异步调用放入具有此逻辑的操作中会更好 - image 通过这种方式,您可以调度一个事件,例如调用加载屏幕,然后在收到数据时,用数据调度新的更改。

最后我认为这是个人选择,旨在帮助您更好地处理代码的方法。