dnf-api
Version:
던전 앤 파이터 API
42 lines (41 loc) • 1.03 kB
TypeScript
export declare class RequestQueue {
private queue;
private processing;
private secondTimestamps;
private minuteTimestamps;
/**
* 큐에 요청을 추가합니다.
* @param task 실행할 비동기 작업
* @returns 작업 결과 Promise
*/
add<T>(task: () => Promise<T>): Promise<T>;
/**
* 슬라이딩 윈도우 기반으로 대기 시간을 계산합니다.
*/
private getWaitTime;
/**
* 요청 타임스탬프를 기록합니다.
*/
private recordRequest;
/**
* 큐를 처리합니다.
*/
private processQueue;
private sleep;
/**
* 현재 큐 상태를 반환합니다.
*/
get status(): {
queueLength: number;
requestsInLastSecond: number;
requestsInLastMinute: number;
maxPerSecond: number;
maxPerMinute: number;
};
/**
* 큐를 초기화합니다.
*/
clear(): void;
}
export declare const requestQueue: RequestQueue;
export default requestQueue;