Mercurial > pub > ImplabNet
comparison Implab/Promise.cs @ 30:2fad2d1f4b03
small refactoring, cleanup.
author | cin |
---|---|
date | Mon, 07 Apr 2014 03:25:57 +0400 |
parents | 768f7deeb55b |
children | 8eca2652d2ff |
comparison
equal
deleted
inserted
replaced
29:768f7deeb55b | 30:2fad2d1f4b03 |
---|---|
9 | 9 |
10 public delegate void ErrorHandler(Exception e); | 10 public delegate void ErrorHandler(Exception e); |
11 public delegate T ErrorHandler<out T>(Exception e); | 11 public delegate T ErrorHandler<out T>(Exception e); |
12 public delegate void ResultHandler<in T>(T result); | 12 public delegate void ResultHandler<in T>(T result); |
13 public delegate TNew ResultMapper<in TSrc, out TNew>(TSrc result); | 13 public delegate TNew ResultMapper<in TSrc, out TNew>(TSrc result); |
14 public delegate Promise<TNew> ChainedOperation<in TSrc,TNew>(TSrc result); | 14 public delegate IPromise<TNew> ChainedOperation<in TSrc,TNew>(TSrc result); |
15 | 15 |
16 /// <summary> | 16 /// <summary> |
17 /// Класс для асинхронного получения результатов. Так называемое "обещание". | 17 /// Класс для асинхронного получения результатов. Так называемое "обещание". |
18 /// </summary> | 18 /// </summary> |
19 /// <typeparam name="T">Тип получаемого результата</typeparam> | 19 /// <typeparam name="T">Тип получаемого результата</typeparam> |
608 /// При отмене нового обещания, переданные обещания также будут отменены, если никто больше на них не подписан. | 608 /// При отмене нового обещания, переданные обещания также будут отменены, если никто больше на них не подписан. |
609 /// </summary> | 609 /// </summary> |
610 /// <param name="promises">Список обещаний. Если список пустой, то результирующее обещание возвращается уже выполненным.</param> | 610 /// <param name="promises">Список обещаний. Если список пустой, то результирующее обещание возвращается уже выполненным.</param> |
611 /// <returns>Обещание объединяющее в себе результат переданных обещаний.</returns> | 611 /// <returns>Обещание объединяющее в себе результат переданных обещаний.</returns> |
612 /// <exception cref="ArgumentNullException"><paramref name="promises"/> не может быть null</exception> | 612 /// <exception cref="ArgumentNullException"><paramref name="promises"/> не может быть null</exception> |
613 public static Promise<T[]> CreateComposite(IList<Promise<T>> promises) { | 613 public static IPromise<T[]> CreateComposite(IList<IPromise<T>> promises) { |
614 if (promises == null) | 614 if (promises == null) |
615 throw new ArgumentNullException(); | 615 throw new ArgumentNullException(); |
616 | 616 |
617 // создаем аккумулятор для результатов и результирующее обещание | 617 // создаем аккумулятор для результатов и результирующее обещание |
618 var result = new T[promises.Count]; | 618 var result = new T[promises.Count]; |