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];