##// END OF EJS Templates
fixed TransientPromiseException handling
cin -
r99:8ddf1648eca4 v2
parent child
Show More
@@ -18,7 +18,7 namespace Implab {
18 18 Type PromiseType { get; }
19 19
20 20 /// <summary>
21 /// Обещание является выполненым, либо успешно, либо с ошибкой.
21 /// Обещание является выполненым, либо успешно, либо с ошибкой, либо отменено.
22 22 /// </summary>
23 23 bool IsResolved { get; }
24 24
@@ -73,9 +73,9 namespace Implab {
73 73 var res = errorHandler(err);
74 74 if (medium != null)
75 75 medium.Resolve(res);
76 } catch (TransientPromiseException err2) {
76 /*} catch (TransientPromiseException err2) {
77 77 if (medium != null)
78 medium.Reject(err2.InnerException);
78 medium.Reject(err2.InnerException);*/
79 79 } catch (Exception err2) {
80 80 if (medium != null)
81 81 medium.Reject(err2);
@@ -203,7 +203,7 namespace Implab {
203 203 /// <exception cref="InvalidOperationException">Данное обещание уже выполнено</exception>
204 204 public void Reject(Exception error) {
205 205 if (BeginTransit()) {
206 m_error = error;
206 m_error = error is TransientPromiseException ? error.InnerException : error;
207 207 CompleteTransit(REJECTED_STATE);
208 208 OnStateChanged();
209 209 } else {
General Comments 0
You need to be logged in to leave comments. Login now