如何防止使用异步请求进行多次验证?

How to prevent multiple validations with async requests?

我有一个用户的项目需要其他用户验证 10 次(可变值)。当物品被验证 10 次时,物品的所有者将获得一定数量的积分。

但我的问题是,如果有 400 个用户同时验证该项目,我将无法只验证一次。

例如:

所以用户有 20 分而不是 10 分。

我正在使用 feathersJs

你有什么办法避免这个问题吗?

谢谢

在您的验证服务中,传入的请求应该排队并一次选择一个用户来执行您的逻辑。成功验证变量后,将点数提供给用户,并像缓存一样维护已验证当前变量的记录并添加此用户。现在,您可以从队列中删除用户并选择下一个。

通过这种方式,您可以让用户保持与他们进来时相同的格式,并且本地缓存可以帮助您识别谁已经验证了相同的变量。