##// END OF EJS Templates
minor fixes
cin -
r74:c4140283575c v2
parent child
Show More
@@ -17,20 +17,55 namespace Implab {
17 /// </summary>
17 /// </summary>
18 Type PromiseType { get; }
18 Type PromiseType { get; }
19
19
20 /// <summary>
21 /// Обещание является выполненым, либо успешно, либо с ошибкой.
22 /// </summary>
20 bool IsResolved { get; }
23 bool IsResolved { get; }
21
24
25 /// <summary>
26 /// Обещание было отменено.
27 /// </summary>
22 bool IsCancelled { get; }
28 bool IsCancelled { get; }
23
29
24 IPromise Then(Action success,ErrorHandler error);
30 IPromise Then(Action success,ErrorHandler error);
25 IPromise Then(Action success);
31 IPromise Then(Action success);
26 IPromise Error(ErrorHandler error);
32 IPromise Error(ErrorHandler error);
33 /// <summary>
34 /// Обрабатывает либо ошибку, либо результат. Событие отмены не обрабатывается.
35 /// </summary>
36 /// <param name="handler">Обработчик.</param>
37 /// <remarks>После обработке ошибки, она передается дальше.</remarks>
27 IPromise Anyway(Action handler);
38 IPromise Anyway(Action handler);
39
40 /// <summary>
41 /// Обрабатывает либо ошибку, либо результат, либо отмену обещания.
42 /// </summary>
43 /// <param name="handler">Обработчик.</param>
44 /// <remarks>После обработке ошибки, она передается дальше.</remarks>
28 IPromise Finally(Action handler);
45 IPromise Finally(Action handler);
46 /// <summary>
47 /// Обработчик для регистрации отмены обещания, событие отмены не может быть подавлено.
48 /// </summary>
49 /// <returns>Новое обещание, связанное с текущим.</returns>
50 /// <param name="handler">Обработчик события.</param>
51 /// <remarks>Если обработчик вызывает исключение, то оно передается обработчику ошибки, результат работы
52 /// которого будет передан связанному обещанию</remarks>
29 IPromise Cancelled(Action handler);
53 IPromise Cancelled(Action handler);
30
54
55 /// <summary>
56 /// Преобразует результат обещания к заданному типу и возвращает новое обещание.
57 /// </summary>
31 IPromise<T> Cast<T>();
58 IPromise<T> Cast<T>();
32
59
60 /// <summary>
61 /// Синхронизирует текущий поток с обещанием.
62 /// </summary>
33 void Join();
63 void Join();
64 /// <summary>
65 /// Синхронизирует текущий поток с обещанием.
66 /// </summary>
67 /// <param name="timeout">Время ожидания, по его истечению возникнет исключение.</param>
68 /// <exception cref="TimeoutException">Превышено время ожидания.</exception>
34 void Join(int timeout);
69 void Join(int timeout);
35
70
36 }
71 }
@@ -447,8 +447,9 namespace Implab {
447 }
447 }
448
448
449 public IPromise<T> Cancelled(Action handler) {
449 public IPromise<T> Cancelled(Action handler) {
450 AddHandler(null, null, handler, null);
450 var medium = new Promise<T>(this, true);
451 return this;
451 AddHandler(null, null, handler, medium);
452 return medium;
452 }
453 }
453
454
454 /// <summary>
455 /// <summary>
General Comments 0
You need to be logged in to leave comments. Login now