Class: RequestBatcher
A utility for batching a request
Constructors
constructor
• new RequestBatcher(options?): RequestBatcher
Parameters
| Name | Type | Description |
|---|---|---|
options? |
Partial\<{ batchMillis: number }> |
options, including the value for batchMillis |
Returns
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:83
Properties
batchMillis
• batchMillis: number
The amount of time (in milliseconds) between requests of the same key
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:78
currentlyProcessing
• Private currentlyProcessing: undefined | WaitingProcess\<any[], any> = undefined
A pointer to the current process the batcher is working on
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:67
lastRequestTimestampMap
• Private lastRequestTimestampMap: Record\<string, number> = {}
A mapping between a process key and the last time in UTC a process of that key was executed.
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:62
processQueue
• Private processQueue: WaitingProcess\<any[], any>[] = []
A queue of upcoming processes
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:73
Methods
isLoading
▸ isLoading(key): boolean
Check if the request batcher is currently working on a process
Parameters
| Name | Type | Description |
|---|---|---|
key |
string |
the key of the process to check |
Returns
boolean
true if the batcher is currently working on the provided process
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:96
queueProcess
▸ queueProcess\<Args, ReturnType>(options): Promise\<ReturnType>
Adds a process to the queue and waits for the process to be complete
Type parameters
| Name | Type |
|---|---|
Args |
extends any[] |
ReturnType |
ReturnType |
Parameters
| Name | Type | Description |
|---|---|---|
options |
WaitingProcessOptions\<Args, ReturnType> |
WaitingProcessOptions |
Returns
Promise\<ReturnType>
A promise that resolves when the process resolves
Defined in
packages/connected-solid/src/util/RequestBatcher.ts:161
triggerOrWaitProcess
▸ triggerOrWaitProcess(): void
Triggers the next process in the queue or triggers a timeout to wait to execute the next process in the queue if not enough time has passed since the last process was triggered.
Returns
void