@terascope/utils / promises
promises
Interfaces
| Interface | Description |
|---|---|
| PRetryConfig | - |
Type Aliases
PWhileOptions
PWhileOptions =
object
Defined in: packages/utils/src/promises.ts:217
Properties
enabledJitter?
optionalenabledJitter:boolean
Defined in: packages/utils/src/promises.ts:225
enable jitter to stagger requests
error?
optionalerror:string
Defined in: packages/utils/src/promises.ts:237
error that can be expressed if the timer ends because the function does not return true
maxJitter?
optionalmaxJitter:number
Defined in: packages/utils/src/promises.ts:234
the maximum the jitter wait time will be (in milliseconds), defaults to 3x the minJitter setting, but less than timeoutMs
minJitter?
optionalminJitter:number
Defined in: packages/utils/src/promises.ts:229
the minimum the jitter wait time will be (in milliseconds), defaults to 100ms
name?
optionalname:string
Defined in: packages/utils/src/promises.ts:222
Defaults
to "Request"
timeoutMs?
optionaltimeoutMs:number
Defined in: packages/utils/src/promises.ts:219
Defaults
to -1 which is never
Functions
getBackoffDelay()
getBackoffDelay(
current,factor,max,min):number
Defined in: packages/utils/src/promises.ts:316
Get backoff delay that will safe to retry and is slightly staggered
Parameters
| Parameter | Type | Default value |
|---|---|---|
current | number | undefined |
factor | number | 2 |
max | number | 60000 |
min | number | 500 |
Returns
number
pDefer()
pDefer():
object
Defined in: packages/utils/src/promises.ts:416
An alternative to Bluebird.defer: http://bluebirdjs.com/docs/api/deferred-migration.html Considered bad practice in most cases, use the Promise constructor
Returns
object
promise
promise:
Promise<any>
reject()
reject: (
reason?) =>void
Parameters
| Parameter | Type |
|---|---|
reason? | any |
Returns
void
resolve()
resolve: (
value?) =>void
Parameters
| Parameter | Type |
|---|---|
value? | unknown |
Returns
void
pDelay()
pDelay<
T>(delay?,arg?):Promise<T>
Defined in: packages/utils/src/promises.ts:13
promisified setTimeout
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type |
|---|---|
delay? | number |
arg? | T |
Returns
Promise<T>
pImmediate()
pImmediate<
T>(arg?):Promise<T>
Defined in: packages/utils/src/promises.ts:47
promisified process.nextTick,setImmediate or setTimeout depending on your environment
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type |
|---|---|
arg? | T |
Returns
Promise<T>
pRace()
pRace(
promises,logError?):Promise<any>
Defined in: packages/utils/src/promises.ts:360
Run multiple promises at once, and resolve/reject when the first completes
Parameters
| Parameter | Type |
|---|---|
promises | Promise<any>[] |
logError? | (err) => void |
Returns
Promise<any>
pRaceWithTimeout()
pRaceWithTimeout(
promises,timeout,logError?):Promise<any>
Defined in: packages/utils/src/promises.ts:385
Similar to pRace but with
Parameters
| Parameter | Type |
|---|---|
promises | Promise<any> | Promise<any>[] |
timeout | number |
logError? | (err) => void |
Returns
Promise<any>
pRetry()
pRetry<
T>(fn,options?):Promise<T>
Defined in: packages/utils/src/promises.ts:125
A promise retry fn.
Type Parameters
| Type Parameter | Default type |
|---|---|
T | any |
Parameters
| Parameter | Type |
|---|---|
fn | PromiseFn<T> |
options? | Partial<PRetryConfig> |
Returns
Promise<T>
pWhile()
pWhile(
fn,options):Promise<void>
Defined in: packages/utils/src/promises.ts:243
Run a function until it returns true or throws an error
Parameters
| Parameter | Type |
|---|---|
fn | PromiseFn |
options | PWhileOptions |
Returns
Promise<void>
waterfall()
waterfall(
input,fns,addBreak):Promise<any>
Defined in: packages/utils/src/promises.ts:349
Async waterfall function
Parameters
| Parameter | Type | Default value |
|---|---|---|
input | unknown | undefined |
fns | PromiseFn<any>[] | undefined |
addBreak | boolean | false |
Returns
Promise<any>