1

我对 Web 开发非常陌生react.jsFluxxor而且我已经有一段时间没有进行 Web 开发了。:)

我想知道在我的代码中将服务器调用 (JQuery $.ajax()) 放在哪里?我的操作只是发送如下调用:

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

然后我有一个商店进行一些更改并调用发出函数来更新视图。整个周期工作正常(视图、操作、调度程序、存储)

现在我想我应该把我的 ajax 调用放在我的商店类中。假设我称我的商店为“blubbStore”。但我希望我的商店课程是可测试的。这意味着我必须将 ajax 调用放在另一个存储类中,该类基本上执行服务器调用并且......

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

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

(并且动作应该只发送消息。对吧?)

谢谢

4

1 回答 1

1

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

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

于 2014-12-23T12:09:00.787 回答