Mercurial > pub > ImplabNet
comparison Implab/IResolvable.cs @ 244:eee3e49dd1ff v3
working on promises
author | cin |
---|---|
date | Thu, 25 Jan 2018 19:09:16 +0300 |
parents | |
children | b904e0a3ba72 |
comparison
equal
deleted
inserted
replaced
243:b1e0ffdf3451 | 244:eee3e49dd1ff |
---|---|
1 using System; | |
2 | |
3 namespace Implab { | |
4 /// <summary> | |
5 /// Deferred result, usually used by asynchronous services as the service part of the promise. | |
6 /// </summary> | |
7 public interface IResolvable { | |
8 | |
9 void Resolve(); | |
10 | |
11 void Resolve(IPromise thenable); | |
12 | |
13 /// <summary> | |
14 /// Reject the promise with the specified error. | |
15 /// </summary> | |
16 /// <param name="error">The reason why the promise is rejected.</param> | |
17 /// <remarks> | |
18 /// Some exceptions are treated in a special case: | |
19 /// <see cref="OperationCanceledException"/> is interpreted as call to <see cref="Cancel()"/> method, | |
20 /// and <see cref="PromiseTransientException"/> is always unwrapped and its | |
21 /// <see cref="PromiseTransientException.InnerException"> is used as the reason to reject promise. | |
22 /// </remarks> | |
23 void Reject(Exception error); | |
24 } | |
25 } | |
26 |