UNPKG

onebots

Version:

基于icqq的多例oneBot实现

29 lines (28 loc) 640 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncLock = void 0; /** * 异步锁--- */ class AsyncLock { constructor() { this._lock = false; this._waitList = []; } async lock() { if (this._lock) { await new Promise(resolve => { this._waitList.push(resolve); }); } this._lock = true; } unlock() { this._lock = false; if (this._waitList.length > 0) { let resolve = this._waitList.shift(); resolve && resolve(); } } } exports.AsyncLock = AsyncLock;