mirror of
https://github.com/koush/scrypted.git
synced 2026-04-11 11:00:21 +01:00
18 lines
452 B
TypeScript
18 lines
452 B
TypeScript
export class Deferred<T> {
|
|
finished = false;
|
|
resolve!: (value: T|PromiseLike<T>) => this;
|
|
reject!: (error: Error) => this;
|
|
promise: Promise<T> = new Promise((resolve, reject) => {
|
|
this.resolve = v => {
|
|
this.finished = true;
|
|
resolve(v);
|
|
return this;
|
|
};
|
|
this.reject = e => {
|
|
this.finished = true;
|
|
reject(e);
|
|
return this;
|
|
};
|
|
});
|
|
}
|