##// END OF EJS Templates
Added awaiters to promises...
Added awaiters to promises Added static methods to Promise Resolve, Reject, All. Updated promise helpers

File last commit:

r247:fb70574741a1 v3
r248:5cb4826c2c2a v3
Show More
IPromise.cs
45 lines | 1.6 KiB | text/x-csharp | CSharpLexer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Implab {
public interface IPromise {
/// <summary>
/// Тип результата, получаемого через данное обещание.
/// </summary>
Type ResultType { get; }
/// <summary>
/// Обещание является выполненым, либо успешно, либо с ошибкой, либо отменено.
/// </summary>
bool IsResolved { get; }
bool IsRejected { get; }
bool IsFulfilled { get; }
/// <summary>
/// Исключение возникшее в результате выполнения обещания, либо причина отмены.
/// </summary>
Exception RejectReason { get; }
/// <summary>
/// Adds specified listeners to the current promise.
/// </summary>
/// <param name="success">The handler called on the successful promise completion.</param>
/// <param name="error">The handler is called if an error while completing the promise occurred.</param>
/// <returns>The current promise.</returns>
void Then(IResolvable next);
/// <summary>
/// Преобразует результат обещания к заданному типу и возвращает новое обещание.
/// </summary>
IPromise<T> Cast<T>();
void Join();
void Join(int timeout);
}
}