comparison Implab/IPromise.cs @ 26:f0bf98e4d22c

refactoring
author cin
date Fri, 21 Feb 2014 03:15:28 +0400
parents 9bf5b23650c9
children b255e4aeef17
comparison
equal deleted inserted replaced
25:9bf5b23650c9 26:f0bf98e4d22c
5 5
6 namespace Implab 6 namespace Implab
7 { 7 {
8 public interface IPromise<T>: IPromiseBase 8 public interface IPromise<T>: IPromiseBase
9 { 9 {
10
11 10
11 T Join();
12 12
13 T Join(int timeout);
13 14
15 IPromise<T> Then(ResultHandler<T> success, ErrorHandler error);
16 IPromise<T> Then(ResultHandler<T> success, ErrorHandler<T> error);
17 IPromise<T> Then(ResultHandler<T> success);
18 IPromise<T> Error(ErrorHandler error);
19 IPromise<T> Error(ErrorHandler<T> error);
20
21 IPromise<T2> Map<T2>(ResultMapper<T,T2> mapper, ErrorHandler error);
22 IPromise<T2> Map<T2>(ResultMapper<T, T2> mapper);
23
24 IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained, ErrorHandler error);
25 IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained);
26
27 IPromise<T> Cancelled(Action handler);
28 IPromise<T> Finally(Action handler);
29 IPromise<T> Anyway(Action handler);
14 30
15 } 31 }
16 } 32 }