gradio

Форк
0
/
promise-delegate.ts 
26 строк · 626.0 Байт
1
type PromiseImplFn<T> = ConstructorParameters<typeof Promise<T>>[0];
2

3
export class PromiseDelegate<T> {
4
	private promiseInternal: Promise<T>;
5
	private resolveInternal!: Parameters<PromiseImplFn<T>>[0];
6
	private rejectInternal!: Parameters<PromiseImplFn<T>>[1];
7

8
	constructor() {
9
		this.promiseInternal = new Promise((resolve, reject) => {
10
			this.resolveInternal = resolve;
11
			this.rejectInternal = reject;
12
		});
13
	}
14

15
	get promise(): Promise<T> {
16
		return this.promiseInternal;
17
	}
18

19
	public resolve(value: T): void {
20
		this.resolveInternal(value);
21
	}
22

23
	public reject(reason: unknown): void {
24
		this.rejectInternal(reason);
25
	}
26
}
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.