##// END OF EJS Templates
Bound promise to CancellationToken...
Bound promise to CancellationToken Added new states to ExecutionSate enum. Added Safe.Guard() method to handle cleanup of the result of the promise

File last commit:

r151:ec91a6dfa5b3 v2
r209:a867536c68fc v2
Show More
PromiseAwaiterT.cs
28 lines | 649 B | text/x-csharp | CSharpLexer
using System;
using System.Runtime.CompilerServices;
namespace Implab {
public struct PromiseAwaiter<T> : INotifyCompletion {
readonly IPromise<T> m_promise;
public PromiseAwaiter(IPromise<T> promise) {
m_promise = promise;
}
public void OnCompleted (Action continuation) {
if (m_promise != null)
m_promise.On(continuation, PromiseEventType.All);
}
public T GetResult() {
return m_promise.Join();
}
public bool IsCompleted {
get {
return m_promise.IsResolved;
}
}
}
}