Mercurial > pub > ImplabNet
view Implab/RejectedPromise`1.cs @ 249:d82909310094 v3
Implab.Test moved to xunit
Complete set of PromiseHelpers (Then, Catch, Finally)
Removed obsolete types ICancellable, ICancellationToken
author | cin |
---|---|
date | Wed, 31 Jan 2018 11:28:38 +0300 |
parents | 5cb4826c2c2a |
children |
line wrap: on
line source
using System; namespace Implab { public struct RejectedPromise<T> : IPromise<T> { 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<T2> Cast<T2>() { return (IPromise<T2>)(IPromise<T>)this; } void IPromise.Join() { throw m_reason.Wrap(); } void IPromise.Join(int timeout) { throw m_reason.Wrap(); } public T Join() { throw m_reason.Wrap(); } public T Join(int timeout) { throw m_reason.Wrap(); } public void Then(IResolvable next) { next.Reject(m_reason); } public void Then(IResolvable<T> next) { next.Reject(m_reason); } } }