##// END OF EJS Templates
promises refactoring
promises refactoring

File last commit:

r106:d4e38929ce36 v2
r106:d4e38929ce36 v2
Show More
IPromiseT.cs
34 lines | 1022 B | text/x-csharp | CSharpLexer
using System;
namespace Implab {
public interface IPromise<T> : IPromise {
new T Join();
new T Join(int timeout);
void On(Action<T> success, Action<Exception> error, Action cancel);
void On(Action<T> success, Action<Exception> error);
void On(Action<T> success);
IPromise<T2> Then<T2>(Func<T, T2> mapper, Func<Exception,T2> error, Action cancel);
IPromise<T2> Then<T2>(Func<T, T2> mapper, Func<Exception,T2> error);
IPromise<T2> Then<T2>(Func<T, T2> mapper);
IPromise<T2> Chain<T2>(Func<T, IPromise<T2>> chained, Func<Exception,IPromise<T2>> error, Action cancel);
IPromise<T2> Chain<T2>(Func<T, IPromise<T2>> chained, Func<Exception,IPromise<T2>> error);
IPromise<T2> Chain<T2>(Func<T, IPromise<T2>> chained);
IPromise<T> Error(Func<Exception,T> error);
new IPromise<T> Cancelled(Action handler);
new IPromise<T> Anyway(Action handler);
}
}