Example #1
0
 /// <summary>
 ///     Takes a function that yields an enumerable of promises.
 ///     Converts to a value promise.
 ///     Returns a promise that resolves when the first of the promises has resolved.
 /// </summary>
 public IPromise <ConvertedT> ThenRace <ConvertedT>(Func <IEnumerable <IPromise <ConvertedT> > > chain)
 {
     return(Then(() => Promise <ConvertedT> .Race(chain())));
 }
Example #2
0
 /// <summary>
 ///     Takes a function that yields an enumerable of promises.
 ///     Converts to a non-value promise.
 ///     Returns a promise that resolves when the first of the promises has resolved.
 ///     Yields the value from the first promise that has resolved.
 /// </summary>
 public IPromise ThenRace(Func <PromisedT, IEnumerable <IPromise> > chain)
 {
     return(Then(value => Promise.Race(chain(value))));
 }
Example #3
0
 public IPromise <ConvertedT> Transform <ConvertedT>(Func <PromisedT, ConvertedT> transform)
 {
     //            Argument.NotNull(() => transform);
     return(Then(value => Promise <ConvertedT> .Resolved(transform(value))));
 }
Example #4
0
 /// <summary>
 ///     Takes a function that yields an enumerable of promises.
 ///     Returns a promise that resolves when the first of the promises has resolved.
 ///     Yields the value from the first promise that has resolved.
 /// </summary>
 public IPromise <ConvertedT> ThenRace <ConvertedT>(Func <PromisedT, IEnumerable <IPromise <ConvertedT> > > chain)
 {
     return(Then(value => Promise <ConvertedT> .Race(chain(value))));
 }
Example #5
0
 /// <summary>
 ///     Complete the promise. Adds a default error handler.
 /// </summary>
 public void Done()
 {
     Catch(ex =>
           Promise.PropagateUnhandledException(this, ex)
           );
 }