Skip to main content

@terascope/core-utils / promises

promises

Interfaces​

InterfaceDescription
PRetryConfig-

Type Aliases​

PWhileOptions​

PWhileOptions = object

Defined in: packages/core-utils/src/promises.ts:217

Properties​

enabledJitter?​

optional enabledJitter?: boolean

Defined in: packages/core-utils/src/promises.ts:225

enable jitter to stagger requests

error?​

optional error?: string

Defined in: packages/core-utils/src/promises.ts:237

error that can be expressed if the timer ends because the function does not return true

maxJitter?​

optional maxJitter?: number

Defined in: packages/core-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?​

optional minJitter?: number

Defined in: packages/core-utils/src/promises.ts:229

the minimum the jitter wait time will be (in milliseconds), defaults to 100ms

name?​

optional name?: string

Defined in: packages/core-utils/src/promises.ts:222

Defaults​

to "Request"

timeoutMs?​

optional timeoutMs?: number

Defined in: packages/core-utils/src/promises.ts:219

Defaults​

to -1 which is never

Functions​

getBackoffDelay()​

getBackoffDelay(current, factor?, max?, min?): number

Defined in: packages/core-utils/src/promises.ts:316

Get backoff delay that will safe to retry and is slightly staggered

Parameters​

ParameterTypeDefault value
currentnumberundefined
factornumber2
maxnumber60000
minnumber500

Returns​

number


pDefer()​

pDefer(): object

Defined in: packages/core-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​
ParameterType
reason?any
Returns​

void

resolve​

resolve: (value?) => void

Parameters​
ParameterType
value?unknown
Returns​

void


pDelay()​

pDelay<T>(delay?, arg?): Promise<T>

Defined in: packages/core-utils/src/promises.ts:11

promisified setTimeout

Type Parameters​

Type ParameterDefault type
Tundefined

Parameters​

ParameterType
delay?number
arg?T

Returns​

Promise<T>


pImmediate()​

pImmediate<T>(arg?): Promise<T>

Defined in: packages/core-utils/src/promises.ts:45

promisified process.nextTick,setImmediate or setTimeout depending on your environment

Type Parameters​

Type ParameterDefault type
Tundefined

Parameters​

ParameterType
arg?T

Returns​

Promise<T>


pRace()​

pRace(promises, logError?): Promise<any>

Defined in: packages/core-utils/src/promises.ts:360

Run multiple promises at once, and resolve/reject when the first completes

Parameters​

ParameterType
promisesPromise<any>[]
logError?(err) => void

Returns​

Promise<any>


pRaceWithTimeout()​

pRaceWithTimeout(promises, timeout, logError?): Promise<any>

Defined in: packages/core-utils/src/promises.ts:385

Similar to pRace but with

Parameters​

ParameterType
promisesPromise<any> | Promise<any>[]
timeoutnumber
logError?(err) => void

Returns​

Promise<any>


pRetry()​

pRetry<T>(fn, options?): Promise<T>

Defined in: packages/core-utils/src/promises.ts:124

A promise retry fn.

Type Parameters​

Type ParameterDefault type
Tany

Parameters​

ParameterType
fnPromiseFn<T>
options?Partial<PRetryConfig>

Returns​

Promise<T>


pWhile()​

pWhile(fn, options?): Promise<void>

Defined in: packages/core-utils/src/promises.ts:243

Run a function until it returns true or throws an error

Parameters​

ParameterType
fnPromiseFn
optionsPWhileOptions

Returns​

Promise<void>


waterfall()​

waterfall(input, fns, addBreak?): Promise<any>

Defined in: packages/core-utils/src/promises.ts:349

Async waterfall function

Parameters​

ParameterTypeDefault value
inputunknownundefined
fnsPromiseFn<any>[]undefined
addBreakbooleanfalse

Returns​

Promise<any>