public IPromise Finally(Action onComplete) { var promise = new Promise(); promise.WithName(Name); this.Then(() => promise.Resolve()); this.Catch(e => { try { onComplete(); promise.Reject(e); } catch (Exception ne) { promise.Reject(ne); } }); return(promise.Then(onComplete)); }
public IPromise <PromisedT> Finally(Action onComplete) { var promise = new Promise <PromisedT>(); promise.WithName(Name); this.Then(x => promise.Resolve(x)); this.Catch(e => { try { onComplete(); promise.Reject(e); } catch (Exception ne) { promise.Reject(ne); } }); return(promise.Then(v => { onComplete(); return v; })); }