捐赠:添加锁

This commit is contained in:
luying
2022-05-06 16:51:54 +08:00
parent 58f2c98aec
commit 399057c947
4 changed files with 16 additions and 12 deletions
@@ -61,7 +61,7 @@ export class DonationHandler {
const guildCode: string = session.get('guildCode');
let res: any = await lockData(serverId, DATA_NAME.DONATE, guildCode);// 锁定资金的增加
try {
if (!res) {
if (!!res.err) {
return resResult(STATUS.REDLOCK_ERR);
}
+12 -9
View File
@@ -73,16 +73,19 @@ export async function lockDataWithNoParam(dataName: string) {
return await lock(key);
}
function lock(lockKey: string) {
return _redlockCache.redlock.lock(lockKey, _redlockCache.ttl).then(function(lock) {
setLock(lockKey, lock);
return {err: null, releaseCallback: releaseCallback.bind(null, lockKey)};
}).catch(function(err) {
console.error(err);
return { err };
});
async function lock(lockKey: string) {
return new Promise((resolve) => {
_redlockCache.redlock.lock(lockKey, _redlockCache.ttl, function(err, lock) {
if(err) {
return resolve({ err })
}
setLock(lockKey, lock);
return resolve({err: null, releaseCallback: releaseCallback.bind(null, lockKey)});
});
})
}
export async function releaseCallback(lockKey: string) {
function releaseCallback(lockKey: string) {
releaseLock(lockKey);
}