pietile-promise-observer
v1.4.0
Published
Simple Promise observer
Downloads
21
Readme
Pietile Promise Observer
As Promise can't be canceled we can just unsubscribe from its result when don't need it.
Installation
Using yarn
yarn add pietile-promise-observer
or using npm
npm install -S pietile-promise-observer
Usage example
import { PromiseObserver, PromiseResult } from "pietile-promise-observer";
function asyncAction(): Promise<number> {
return new Promise((resolve) => {
setTimeout(() => {
resolve(Math.random());
}, 1000);
});
}
function resultHandler(result: PromiseResult<number>): void {
if (result.error) {
// Smth wrong happened
console.log("Error :(", result.error.message);
return;
}
console.log(result.value + 1);
}
const promiseObserver = new PromiseObserver<number>();
promiseObserver.subscribe(asyncAction(), resultHandler);
// Somehwere later ...
promiseObserver.subscribe(asyncAction(), resultHandler);
// or
promiseObserver.unsubscribe();
API
new PromiseObserver()
Create new PromiseObserver.
subscribe(promise: Promise<T>, callback: Callback<T>, unsubscribedCallback?: Callback<T>): Promise<T>
Subscribe to promise
. After the promise
is resolved the callback
will be called with either
{ value: null; error: Error; }
or { value: T; error: null; }
argument. Optional unsubscribedCallback
will be called for unsubscribed promises. Return the same promise.
unsubscribe(): void
Unsubscribe from subscribed Promise
isSubscribed(): boolean
Is observer awaiting for any promise result?
PromiseObserver.WARN_ON_ERROR
Static property. When true will warn in console on each rejection. Useful for debugging
License
Pietile Promise Observer is MIT License.