Mercurial > pub > ImplabNet
view Implab/RejectedPromise.cs @ 248:5cb4826c2c2a v3
Added awaiters to promises
Added static methods to Promise Resolve, Reject, All.
Updated promise helpers
author | cin |
---|---|
date | Tue, 30 Jan 2018 01:37:17 +0300 |
parents | |
children | d82909310094 |
line wrap: on
line source
using System; namespace Implab { public struct RejectedPromise : IPromise { readonly Exception m_reason; public Type ResultType => typeof(void); public bool IsResolved => true; public bool IsRejected => true; public bool IsFulfilled => false; public Exception RejectReason => m_reason; public RejectedPromise(Exception reason) { m_reason = reason; } public IPromise<T> Cast<T>() { throw new InvalidCastException(); } public void Join() { m_reason.ThrowInvocationException(); } public void Join(int timeout) { m_reason.ThrowInvocationException(); } public void Then(IResolvable next) { next.Reject(m_reason); } } }