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