| @@ -23,7 +23,13 namespace Implab.Test { | |||||
| 23 | Exception err = null; |
|
23 | Exception err = null; | |
| 24 |
|
24 | |||
| 25 | var p = new Promise<int>(); |
|
25 | var p = new Promise<int>(); | |
| 26 | p.Then(x => res = x, e => err = e); |
|
26 | p.Then( | |
|
|
27 | x => res = x, | |||
|
|
28 | e => { | |||
|
|
29 | err = e; | |||
|
|
30 | return -2; | |||
|
|
31 | } | |||
|
|
32 | ); | |||
| 27 | p.Reject(new ApplicationException("error")); |
|
33 | p.Reject(new ApplicationException("error")); | |
| 28 |
|
34 | |||
| 29 | Assert.AreEqual(res, -1); |
|
35 | Assert.AreEqual(res, -1); | |
| @@ -354,7 +360,7 namespace Implab.Test { | |||||
| 354 | [TestMethod] |
|
360 | [TestMethod] | |
| 355 | public void ChainedCancel2Test() { |
|
361 | public void ChainedCancel2Test() { | |
| 356 | // при отмене цепочки обещаний, вложенные операции также должны отменяться |
|
362 | // при отмене цепочки обещаний, вложенные операции также должны отменяться | |
| 357 |
IPromise |
|
363 | IPromise p = null; | |
| 358 | var pSurvive = new Promise<bool>(); |
|
364 | var pSurvive = new Promise<bool>(); | |
| 359 | var hemStarted = new ManualResetEvent(false); |
|
365 | var hemStarted = new ManualResetEvent(false); | |
| 360 | p = PromiseHelper |
|
366 | p = PromiseHelper | |
| @@ -7,7 +7,7 using System.Threading; | |||||
| 7 |
|
7 | |||
| 8 | namespace Implab.Test { |
|
8 | namespace Implab.Test { | |
| 9 | class PromiseHelper { |
|
9 | class PromiseHelper { | |
| 10 | public static Promise<T> Sleep<T>(int timeout, T retVal) { |
|
10 | public static IPromise<T> Sleep<T>(int timeout, T retVal) { | |
| 11 | return AsyncPool.Invoke(() => { |
|
11 | return AsyncPool.Invoke(() => { | |
| 12 | Thread.Sleep(timeout); |
|
12 | Thread.Sleep(timeout); | |
| 13 | return retVal; |
|
13 | return retVal; | |
General Comments 0
You need to be logged in to leave comments.
Login now
