comparison Implab/Promise.cs @ 66:790e8a997d30

Refactoring
author cin
date Thu, 14 Aug 2014 18:08:09 +0400
parents 653c4e04968b
children 1714fd8678ef
comparison
equal deleted inserted replaced
65:653c4e04968b 66:790e8a997d30
97 97
98 public Promise() { 98 public Promise() {
99 m_cancellable = true; 99 m_cancellable = true;
100 } 100 }
101 101
102 public Promise(IPromiseBase parent, bool cancellable) { 102 public Promise(IPromise parent, bool cancellable) {
103 m_cancellable = cancellable; 103 m_cancellable = cancellable;
104 if (parent != null) 104 if (parent != null)
105 AddHandler( 105 AddHandler(
106 null, 106 null,
107 null, 107 null,
250 AddHandler(resultHandler, errorHandler, medium.InternalCancel); 250 AddHandler(resultHandler, errorHandler, medium.InternalCancel);
251 251
252 return medium; 252 return medium;
253 } 253 }
254 254
255 public IPromiseBase Then(Action success, ErrorHandler error) { 255 public IPromise Then(Action success, ErrorHandler error) {
256 return Then(x => success(), error); 256 return Then(x => success(), error);
257 } 257 }
258 258
259 public IPromiseBase Then(Action success) { 259 public IPromise Then(Action success) {
260 return Then(x => success()); 260 return Then(x => success());
261 } 261 }
262 262
263 /// <summary> 263 /// <summary>
264 /// Adds new handlers to this promise. 264 /// Adds new handlers to this promise.
680 /// <param name="promises">Коллекция первичных обещаний, которые будут объеденены в одно.</param> 680 /// <param name="promises">Коллекция первичных обещаний, которые будут объеденены в одно.</param>
681 /// <returns>Новое обещание, объединяющее в себе переданные.</returns> 681 /// <returns>Новое обещание, объединяющее в себе переданные.</returns>
682 /// <remarks> 682 /// <remarks>
683 /// Если в коллекции встречаюься <c>null</c>, то они воспринимаются как выполненные обещания. 683 /// Если в коллекции встречаюься <c>null</c>, то они воспринимаются как выполненные обещания.
684 /// </remarks> 684 /// </remarks>
685 public static IPromiseBase CreateComposite(ICollection<IPromiseBase> promises) { 685 public static IPromise CreateComposite(ICollection<IPromise> promises) {
686 if (promises == null) 686 if (promises == null)
687 throw new ArgumentNullException(); 687 throw new ArgumentNullException();
688 if (promises.Count == 0) 688 if (promises.Count == 0)
689 return Promise<object>.ResultToPromise(null); 689 return Promise<object>.ResultToPromise(null);
690 690
728 return p; 728 return p;
729 } 729 }
730 730
731 #region IPromiseBase explicit implementation 731 #region IPromiseBase explicit implementation
732 732
733 IPromiseBase IPromiseBase.Error(ErrorHandler error) { 733 IPromise IPromise.Error(ErrorHandler error) {
734 return Error(error); 734 return Error(error);
735 } 735 }
736 736
737 IPromiseBase IPromiseBase.Anyway(Action handler) { 737 IPromise IPromise.Anyway(Action handler) {
738 return Anyway(handler); 738 return Anyway(handler);
739 } 739 }
740 740
741 IPromiseBase IPromiseBase.Finally(Action handler) { 741 IPromise IPromise.Finally(Action handler) {
742 return Finally(handler); 742 return Finally(handler);
743 } 743 }
744 744
745 IPromiseBase IPromiseBase.Cancelled(Action handler) { 745 IPromise IPromise.Cancelled(Action handler) {
746 return Cancelled(handler); 746 return Cancelled(handler);
747 } 747 }
748 748
749 void IPromiseBase.Join() { 749 void IPromise.Join() {
750 Join(); 750 Join();
751 } 751 }
752 752
753 void IPromiseBase.Join(int timeout) { 753 void IPromise.Join(int timeout) {
754 Join(timeout); 754 Join(timeout);
755 } 755 }
756 756
757 #endregion 757 #endregion
758 758