我阅读了有关 Box 事件的文档,对如何正确处理乱序框事件有点迷茫。
根据文档,
事件偶尔会出现乱序。例如,文件上传可能会在文件夹创建事件之前出现。您可能需要缓冲事件并按逻辑顺序应用它们。
比方说,我从盒子服务器返回了两个 ITEM_UPLOAD 事件,它们用于上传 file_1 和 file_2,而用于上传 file_2 的 ITEM_UPLOAD 事件比用于上传 file_1 的事件更早。
但是,在服务器端真正发生的是上传 file_1 比上传 file_2 稍早,而且时间差异非常小,以至于两个事件的“created_at”和“recorded_at”值相同。这两个时间戳的分辨率是二级。
在这一点上,我无法确切地说出哪个先发生,因为没有好的衡量标准可以作为判断的参考。
你能给我一些信息来解决这种情况吗?
非常感谢。
==================================================== =======
ITEM_UPLOAD 事件在这里可能不是一个很好的例子。如果我更关心 ITEM_RENAME 事件怎么办?假设我们的应用可以根据 ITEM_RENAME 事件重命名本地文件。不知何故,我在同一个文件上得到了两个 ITEM_RENAME 事件,它们乱序但具有相同的时间戳。在不缓存所有盒子对象的元数据(如 sequence_id)的情况下,我如何知道我应该在两个事件中使用哪个名称值?