##// END OF EJS Templates
Added a casting method for promises.
cin -
r29:768f7deeb55b default
parent child
Show More
@@ -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 }
@@ -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