我正在使用通量设计原则编写一个简单的应用程序,以更好地理解底层机制。为了提供增强的体验,用户更改会立即记录到本地存储,从而以零延迟更新界面。同时,向服务器分派一个异步请求;在服务器发生故障的情况下,本地存储将从服务器重新加载。
但是,我不确定如何最好地处理由于服务器响应缓慢而有多个异步请求待处理的情况。在这种情况下,处理故障似乎要复杂得多。例如,假设有三个待处理的异步请求(每个状态变化用户交互一个)。第一个成功了,第二个失败了。我应该取消第三个请求吗?如何从第二个请求而不是第三个请求回滚更改。
如果可能的话,我想避免这种复杂性。通量是否提供了一种机制来处理这种情况?我意识到我可以在异步请求挂起时锁定 UI,以防止多个请求排队,但我不愿意介绍这种方法会降低用户体验。
编辑:有些人相当质疑多个异步调用的问题是否特定于通量。我没有提到的是,我关注的是商店/调度员只执行同步代码 的指导。