internal Sailor(Promise promise, AbortablePromise abortablePromise) { this.promise = promise; this.abortablePromise = abortablePromise; this.abortablePromise.AbortRequested += PromiseRequestedAbort; SynchronizationContext synchronizationContext = SynchronizationContext.Current; if (synchronizationContext != null) { promise.SynchronizationContext = synchronizationContext; this.abortablePromise.SynchronizationContext = synchronizationContext; } }
public virtual IAbortablePromise Notify(Action <object> onNotify) { if (onNotify != null) { this.onNotifyCallbacks.Add(onNotify); } this.followingPromise = new AbortablePromise(); if (this.SynchronizationContext != null) { this.followingPromise.SynchronizationContext = this.SynchronizationContext; } return(this.followingPromise); }
public virtual IAbortablePromise OnError(Action <Exception> onRejected) { if (onRejected != null) { this.onRejectedCallbacks.Add(onRejected); } this.followingPromise = new AbortablePromise(); if (this.SynchronizationContext != null) { this.followingPromise.SynchronizationContext = this.SynchronizationContext; } return(this.followingPromise); }
public virtual IAbortablePromise Finally(Action onFinally) { if (onFinally != null) { this.onFinallyCallbacks.Add(onFinally); } this.followingPromise = new AbortablePromise(); if (this.SynchronizationContext != null) { this.followingPromise.SynchronizationContext = this.SynchronizationContext; } return(this.followingPromise); }
public virtual IAbortablePromise Then(Action <object> onFulfilled) { if (onFulfilled != null) { this.onFulfilledCallbacks.Add(onFulfilled); } this.followingPromise = new AbortablePromise(); this.followingPromise.AbortRequested += BubbleAbortRequest; if (this.SynchronizationContext != null) { this.followingPromise.SynchronizationContext = this.SynchronizationContext; } return(this.followingPromise); }