annotate Implab/IPromiseT.cs @ 196:40d7fed4a09e

fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.
author cin
date Mon, 29 Aug 2016 23:15:51 +0300
parents 8c0b95069066
children cbe10ac0731e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
1 using System;
790e8a997d30 Refactoring
cin
parents:
diff changeset
2
75
4439140706d0 major refactoring, added tasks support
cin
parents: 72
diff changeset
3 namespace Implab {
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 106
diff changeset
4 public interface IPromise<out T> : IPromise {
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
5
138
f75cfa58e3d4 added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents: 119
diff changeset
6 IPromise<T> On(Action<T> success, Action<Exception> error, Action<Exception> cancel);
76
c761fc982e1d Refactoring of the IPromise<T> interface
cin
parents: 75
diff changeset
7
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 106
diff changeset
8 IPromise<T> On(Action<T> success, Action<Exception> error);
76
c761fc982e1d Refactoring of the IPromise<T> interface
cin
parents: 75
diff changeset
9
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 106
diff changeset
10 IPromise<T> On(Action<T> success);
76
c761fc982e1d Refactoring of the IPromise<T> interface
cin
parents: 75
diff changeset
11
144
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
12 new T Join();
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
13
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
14 new T Join(int timeout);
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
15
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
16 new IPromise<T> On(Action success, Action<Exception> error, Action<Exception> cancel);
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
17
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
18 new IPromise<T> On(Action success, Action<Exception> error);
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
19
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
20 new IPromise<T> On(Action success);
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
21
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 106
diff changeset
22 new IPromise<T> On(Action handler, PromiseEventType events);
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 106
diff changeset
23
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
24 }
790e8a997d30 Refactoring
cin
parents:
diff changeset
25 }