我正在尝试使用 RedLock 来防止 2 个用户同时对同一资源进行操作(彼此预订的东西太快)。但是,如果资源已被其他人获取,我希望它完全失败(在请求提交事务后预订可用性将消失)。我不清楚在文档中如果资源仍然被锁定会发生什么以及此时如何失败。它只是抛出一个错误吗?https://github.com/mike-marcacci/node-redlock#usage-promise-style。
const redlock = new Redlock(...);
let lock;
try {
lock = redlock.lock('bookId', 120000);
} catch (err) {
// ... lock failed to be acquired because someone else still had it? (after retries are finish)
}