Mercurial > pub > ImplabNet
diff Implab/IPromiseT.cs @ 76:c761fc982e1d v2
Refactoring of the IPromise<T> interface
Added tests
author | cin |
---|---|
date | Wed, 10 Sep 2014 17:53:05 +0400 |
parents | 4439140706d0 |
children | a43745f81f10 |
line wrap: on
line diff
--- a/Implab/IPromiseT.cs Wed Sep 10 11:17:37 2014 +0400 +++ b/Implab/IPromiseT.cs Wed Sep 10 17:53:05 2014 +0400 @@ -4,34 +4,40 @@ using System.Text; namespace Implab { - public interface IPromise<T>: IPromise { + public interface IPromise<T> : IPromise { new T Join(); new T Join(int timeout); + void Last(ResultHandler<T> success, ErrorHandler error, Action cancel); + + void Last(ResultHandler<T> success, ErrorHandler error); + + void Last(ResultHandler<T> success); + IPromise<T> Then(ResultHandler<T> success, ErrorHandler<T> error, Action cancel); IPromise<T> Then(ResultHandler<T> success, ErrorHandler<T> error); IPromise<T> Then(ResultHandler<T> success); - void Last(ResultHandler<T> success, ErrorHandler error, Action cancel); - void Last(ResultHandler<T> success, ErrorHandler error); - void Last(ResultHandler<T> success); + IPromise<T2> Then<T2>(ResultMapper<T, T2> mapper, ErrorHandler<T2> error, Action cancel); + + IPromise<T2> Then<T2>(ResultMapper<T, T2> mapper, ErrorHandler<T2> error); + + IPromise<T2> Then<T2>(ResultMapper<T, T2> mapper); + + IPromise<T2> Chain<T2>(ResultMapper<T, IPromise<T2>> chained, ErrorHandler<IPromise<T2>> error, Action cancel); + + IPromise<T2> Chain<T2>(ResultMapper<T, IPromise<T2>> chained, ErrorHandler<IPromise<T2>> error); + + IPromise<T2> Chain<T2>(ResultMapper<T, IPromise<T2>> chained); IPromise<T> Error(ErrorHandler<T> error); - IPromise<T2> Then<T2>(ResultMapper<T,T2> mapper, ErrorHandler<T> error); - - IPromise<T2> Then<T2>(ResultMapper<T,T2> mapper); - - IPromise<T2> Then<T2>(ChainedOperation<T, T2> chained, ErrorHandler<T> error); - - IPromise<T2> Then<T2>(ChainedOperation<T, T2> chained); - new IPromise<T> Cancelled(Action handler); - new IPromise<T> Finally(Action handler); + new IPromise<T> Anyway(Action handler); } }