我正在使用angular来使用Rest API,但是在这种情况下,前端语言并不重要。
有问题的API在传播其更新时相当慢。假设我对字段 xxx 进行了更新,直到实际更新资源为止,它最多可能需要10秒钟。
更新API调用的响应会告诉我它是否有效,以及资源(最终)是否是最新的。
在应用这些更改之前执行GET时,我会看到旧的(陈旧的)资源。显示这些旧结果会导致最终用户的UX变得奇怪,正如我将在下一个示例中演示的那样:
示例
因此有一个带有条目的分页列表。分页发生在服务器上,因此前端只执行...?page=1&num=5
之类的查询。
当我在条目上按Delete键时,我将对API进行DELETE调用,该调用将以202 Accepted
返回
如果我随后刷新页面,则将执行API-GET-call,并且(陈旧的)已删除项目仍将在那里。仅当我在10秒钟左右后刷新页面时,删除的项目才会有效消失。
导航到第二页并返回第一页时,也会发生同样的情况。每当我从API获取新数据时(太早),该项目就会重新出现,并使最终用户认为出了点问题。
我可以实现某种本地缓存来保留API响应并过滤掉那些删除的结果。但是我确实希望从其他条目中获取新数据……而且不仅是删除的条目,还有修改后的条目。
列表顶部有过滤选项。修改字段可能意味着由于过滤该字段不再出现在初始列表中。
有人要对抗类似的任务吗?您是如何处理它的(以一种用户友好的方式?)