view Implab/Promise.cs @ 207:558f34b2fb50 v2

added Safe.DispatchEvent() a legacy equivalent for '?.Invoke()' added Safe.Dispose(IEnumerable) added PromiseExtensions.CancellationPoint to add a cancellation point to the chain of promises added IPromise<T> PromiseExtensions.Then<T>(this IPromise<T> that, Action<T> success) overloads added PromiseExtensions.Error() overloads to handle a error or(and) a cancellation
author cin
date Wed, 09 Nov 2016 12:03:22 +0300
parents 8200ab154c8a
children b1e0ffdf3451
line wrap: on
line source

using System;
using Implab.Parallels;

namespace Implab {
    public class Promise : AbstractPromise, IDeferred {
        public static readonly IPromise Success;

        static Promise() {
            Success = new SuccessPromise();
        }

        public void Resolve() {
            SetResult();
        }

        public void Reject(Exception error) {
            SetError(error);
        }

        public static IPromise FromException(Exception exception) {
            return new FailedPromise(exception);
        }
    }
}