@@ -12,6 +12,11 namespace Implab { | |||
|
12 | 12 | get; |
|
13 | 13 | } |
|
14 | 14 | |
|
15 | /// <summary> | |
|
16 | /// Тип результата, получаемого через данное обещание. | |
|
17 | /// </summary> | |
|
18 | Type PromiseType { get; } | |
|
19 | ||
|
15 | 20 | bool IsResolved { get; } |
|
16 | 21 | |
|
17 | 22 | bool IsCancelled { get; } |
@@ -19,5 +24,7 namespace Implab { | |||
|
19 | 24 | IPromiseBase Then(Action success,ErrorHandler error); |
|
20 | 25 | IPromiseBase Then(Action success); |
|
21 | 26 | |
|
27 | IPromise<T> Cast<T>(); | |
|
28 | ||
|
22 | 29 | } |
|
23 | 30 | } |
@@ -11,7 +11,7 namespace Implab { | |||
|
11 | 11 | public delegate T ErrorHandler<out T>(Exception e); |
|
12 | 12 | public delegate void ResultHandler<in T>(T result); |
|
13 | 13 | public delegate TNew ResultMapper<in TSrc, out TNew>(TSrc result); |
|
14 |
public delegate Promise<TNew> ChainedOperation<in TSrc, |
|
|
14 | public delegate Promise<TNew> ChainedOperation<in TSrc,TNew>(TSrc result); | |
|
15 | 15 | |
|
16 | 16 | /// <summary> |
|
17 | 17 | /// Класс для асинхронного получения результатов. Так называемое "обещание". |
@@ -137,6 +137,10 namespace Implab { | |||
|
137 | 137 | } |
|
138 | 138 | } |
|
139 | 139 | |
|
140 | public Type PromiseType { | |
|
141 | get { return typeof(T); } | |
|
142 | } | |
|
143 | ||
|
140 | 144 | /// <summary> |
|
141 | 145 | /// Выполняет обещание, сообщая об успешном выполнении. |
|
142 | 146 | /// </summary> |
@@ -473,6 +477,15 namespace Implab { | |||
|
473 | 477 | } |
|
474 | 478 | |
|
475 | 479 | /// <summary> |
|
480 | /// Преобразует результат обещания к нужному типу | |
|
481 | /// </summary> | |
|
482 | /// <typeparam name="T2"></typeparam> | |
|
483 | /// <returns></returns> | |
|
484 | public IPromise<T2> Cast<T2>() { | |
|
485 | return Map(x => (T2)(object)x, null); | |
|
486 | } | |
|
487 | ||
|
488 | /// <summary> | |
|
476 | 489 | /// Дожидается отложенного обещания и в случае успеха, возвращает |
|
477 | 490 | /// его, результат, в противном случае бросает исключение. |
|
478 | 491 | /// </summary> |
General Comments 0
You need to be logged in to leave comments.
Login now