@cahil/utils › Globals › async › CancelablePromise
Creates a promise that can be canceled after starting. Canceling the promise does not stop it from executing but will
cause it to reject with the value { isCanceled: true }
once it finishes, regardless of outcome.
const promise = new CancelablePromise(res => setTimeout(res, 3000, 'I finished!'))
// Stop the cancelable promise from resolving
cancelablePromise.cancel()
cancelablePromise
.then(result => console.log('Cancelable', result)) // Never fires, the promise will not resolve after being cancelled
.catch(err => console.log('Cancelable', err)) // Resolves after 3000ms with the value `{ isCanceled: true }`
▪ T: any
Promise‹T›
↳ CancelablePromise
+ new CancelablePromise(executor
: function): CancelablePromise
Defined in src/async/CancelablePromise.ts:36
Parameters:
▪ executor: function
▸ (resolve
: function, reject
: function): void
Parameters:
▪ resolve: function
▸ (value
: T): void
Parameters:
Name | Type |
---|---|
value |
T |
▪ reject: function
▸ (err?
: any): void
Parameters:
Name | Type |
---|---|
err? |
any |
Returns: CancelablePromise
Private
canceled• canceled: boolean = false
Defined in src/async/CancelablePromise.ts:27
Protected
promise• promise: Promise‹T›
Defined in src/async/CancelablePromise.ts:28
Static
Promise▪ Promise: PromiseConstructor
Defined in node_modules/typescript/lib/lib.es2015.promise.d.ts:152
• get __@toStringTag(): string
Overrides void
Defined in src/async/CancelablePromise.ts:30
Returns: string
• get hasCanceled(): boolean
Defined in src/async/CancelablePromise.ts:34
Returns: boolean
▸ cancel(): void
Defined in src/async/CancelablePromise.ts:47
Returns: void
▸ catch<TResult>(onrejected : function): *Promise‹T |
TResult›* |
Overrides void
Defined in src/async/CancelablePromise.ts:58
Type parameters:
▪ TResult
Parameters:
▪ onrejected: function
▸ (reason : any): *TResult |
PromiseLike‹TResult›* |
Parameters:
Name | Type |
---|---|
reason |
any |
Returns: *Promise‹T | TResult›* |
▸ finally(onfinally
: function): Promise‹T›
Overrides void
Defined in src/async/CancelablePromise.ts:64
Parameters:
▪ onfinally: function
▸ (): void
Returns: Promise‹T›
▸ then<TResult1, TResult2>(onfulfilled : function, onrejected? : function): *Promise‹TResult1 |
TResult2›* |
Overrides void
Defined in src/async/CancelablePromise.ts:51
Type parameters:
▪ TResult1
▪ TResult2
Parameters:
▪ onfulfilled: function
▸ (value : T): *TResult1 |
PromiseLike‹TResult1›* |
Parameters:
Name | Type |
---|---|
value |
T |
▪Optional
onrejected: function
▸ (reason : any): *TResult2 |
PromiseLike‹TResult2›* |
Parameters:
Name | Type |
---|---|
reason |
any |
Returns: *Promise‹TResult1 | TResult2›* |