| @@ -12,6 +12,11 namespace Implab { | |||||
| 12 | get; |
|
12 | get; | |
| 13 | } |
|
13 | } | |
| 14 |
|
14 | |||
|
|
15 | /// <summary> | |||
|
|
16 | /// Тип результата, получаемого через данное обещание. | |||
|
|
17 | /// </summary> | |||
|
|
18 | Type PromiseType { get; } | |||
|
|
19 | ||||
| 15 | bool IsResolved { get; } |
|
20 | bool IsResolved { get; } | |
| 16 |
|
21 | |||
| 17 | bool IsCancelled { get; } |
|
22 | bool IsCancelled { get; } | |
| @@ -19,5 +24,7 namespace Implab { | |||||
| 19 | IPromiseBase Then(Action success,ErrorHandler error); |
|
24 | IPromiseBase Then(Action success,ErrorHandler error); | |
| 20 | IPromiseBase Then(Action success); |
|
25 | IPromiseBase Then(Action success); | |
| 21 |
|
26 | |||
|
|
27 | IPromise<T> Cast<T>(); | |||
|
|
28 | ||||
| 22 | } |
|
29 | } | |
| 23 | } |
|
30 | } | |
| @@ -11,7 +11,7 namespace Implab { | |||||
| 11 | public delegate T ErrorHandler<out T>(Exception e); |
|
11 | public delegate T ErrorHandler<out T>(Exception e); | |
| 12 | public delegate void ResultHandler<in T>(T result); |
|
12 | public delegate void ResultHandler<in T>(T result); | |
| 13 | public delegate TNew ResultMapper<in TSrc, out TNew>(TSrc result); |
|
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 | /// <summary> |
|
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 | /// <summary> |
|
144 | /// <summary> | |
| 141 | /// Выполняет обещание, сообщая об успешном выполнении. |
|
145 | /// Выполняет обещание, сообщая об успешном выполнении. | |
| 142 | /// </summary> |
|
146 | /// </summary> | |
| @@ -473,6 +477,15 namespace Implab { | |||||
| 473 | } |
|
477 | } | |
| 474 |
|
478 | |||
| 475 | /// <summary> |
|
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 | /// </summary> |
|
491 | /// </summary> | |
General Comments 0
You need to be logged in to leave comments.
Login now
