API Reference / RateLimiter
Class: RateLimiter
Defined in: src/client/RateLimiter.ts:21
Enforces Dhan's per-endpoint rate limits (RATE_LIMITS) on top of the generic read/write queue. A request with a tier waits on both: the generic queue first, then that tier's own, stricter spacing — so e.g. an option-chain call is still at least 3s behind the previous option-chain call, regardless of how many other requests are in flight.
Constructors
Constructor
new RateLimiter(
config?):RateLimiter
Defined in: src/client/RateLimiter.ts:26
Parameters
config?
RateLimiterConfig = {}
Returns
RateLimiter
Methods
scheduleRead()
scheduleRead<
T>(task):Promise<T>
Defined in: src/client/RateLimiter.ts:40
Type Parameters
T
T
Parameters
task
() => Promise<T>
Returns
Promise<T>
scheduleWrite()
scheduleWrite<
T>(task):Promise<T>
Defined in: src/client/RateLimiter.ts:44
Type Parameters
T
T
Parameters
task
() => Promise<T>
Returns
Promise<T>
scheduleTier()
scheduleTier<
T>(tier,isWrite,task):Promise<T>
Defined in: src/client/RateLimiter.ts:48
Type Parameters
T
T
Parameters
tier
"order_api" | "data_api" | "quote_api" | "option_chain" | "non_trading_api"
isWrite
boolean
task
() => Promise<T>
Returns
Promise<T>