我正在写一个简单的应用程序,使用通量设计原则来更好地理解底层机制。为了提供增强的体验,用户更改会立即记录到本地商店,从而以零延迟更新界面。同时,异步请求被分派给服务器;在发生服务器故障时,本地存储将从服务器重新加载。通量:如何处理多个异步请求
但是,我不确定如何最好地处理这种情况,在这种情况下,由于服务器响应较慢,有多个异步请求处于待处理状态。在这种情况下处理失败似乎要复杂得多。例如,假设有三个挂起的异步请求(每个状态一个用于突变用户交互)。第一个成功,但第二个失败。我应该取消第三个请求吗?我如何从第二个请求回滚更改,但不是第三个。
我想尽可能地避免这种复杂性。流量是否提供了处理这种情况的机制?我意识到我可以在异步请求挂起时锁定用户界面,以防止来自排队的多个请求,但我不愿意介绍这种方法的降级用户体验。
编辑: 有些人相当质疑是否多个异步调用的问题是特定于通量。我没有提到的是,我关心的是guidance,存储/调度程序只执行同步代码。
除了是一个不好的用户experienec,为了防止在同时发生多个异步操作的情况下阻塞UI是一个坏的代码味道。 这是一种耦合形式;您从视图外部(即在Action Creator中)对视图做出假设。 – namuol