##// END OF EJS Templates
Bound promise to CancellationToken...
Bound promise to CancellationToken Added new states to ExecutionSate enum. Added Safe.Guard() method to handle cleanup of the result of the promise

File last commit:

r203:4d9830a9bbb8 v2
r209:a867536c68fc v2
Show More
FailedPromiseT.cs
65 lines | 1.7 KiB | text/x-csharp | CSharpLexer
using System;
using System.Reflection;
namespace Implab {
public class FailedPromise<T> : FailedPromise, IPromise<T> {
public FailedPromise(Exception error) : base(error) {
}
public IPromise<T> On(Action<T> success, Action<Exception> error, Action<Exception> cancel) {
if (error != null) {
try {
error(Error);
// Analysis disable once EmptyGeneralCatchClause
} catch {
}
}
return this;
}
public IPromise<T> On(Action<T> success, Action<Exception> error) {
if (error != null) {
try {
error(Error);
// Analysis disable once EmptyGeneralCatchClause
} catch {
}
}
return this;
}
public IPromise<T> On(Action<T> success) {
return this;
}
T IPromise<T>.Join() {
throw new TargetInvocationException(Error);
}
T IPromise<T>.Join(int timeout) {
throw new TargetInvocationException(Error);
}
IPromise<T> IPromise<T>.On(Action success, Action<Exception> error, Action<Exception> cancel) {
On(success, error, cancel);
return this;
}
IPromise<T> IPromise<T>.On(Action success, Action<Exception> error) {
On(success, error);
return this;
}
IPromise<T> IPromise<T>.On(Action success) {
On(success);
return this;
}
IPromise<T> IPromise<T>.On(Action handler, PromiseEventType events) {
On(handler, events);
return this;
}
}
}