##// END OF EJS Templates
fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.
fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.

File last commit:

r145:706fccb85524 v2
r196:40d7fed4a09e default
Show More
IDeferred.cs
24 lines | 888 B | text/x-csharp | CSharpLexer
cin
Promises rewritten, added improved version of AsyncQueue
r119 using System;
namespace Implab {
/// <summary>
/// Deferred result, usually used by asynchronous services as the service part of the promise.
/// </summary>
cin
RC: cancellation support for promises + tests
r145 public interface IDeferred : ICancellationToken {
cin
Promises rewritten, added improved version of AsyncQueue
r119
void Resolve();
cin
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
r138 /// <summary>
/// Reject the promise with the specified error.
/// </summary>
/// <param name="error">The reason why the promise is rejected.</param>
/// <remarks>
/// Some exceptions are treated in a special case:
/// <see cref="OperationCanceledException"/> is interpreted as call to <see cref="Cancel()"/> method,
/// and <see cref="PromiseTransientException"/> is always unwrapped and its
/// <see cref="PromiseTransientException.InnerException"> is used as the reason to reject promise.
/// </remarks>
cin
Promises rewritten, added improved version of AsyncQueue
r119 void Reject(Exception error);
}
}