Метод Async.FromBeginEnd<'Arg1,'T> (F#)
Создает асинхронное вычисление в виде пары действий Begin/End в стиле, используемом в API-интерфейсах инфраструктуры CLI.
Пространство имен/путь к модулю: Microsoft.FSharp.Control
Сборка: FSharp.Core (в FSharp.Core.dll)
// Signature:
static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
// Usage:
Async.FromBeginEnd (arg, beginAction, endAction)
Async.FromBeginEnd (arg, beginAction, endAction, cancelAction = cancelAction)
Параметры
arg
Тип: 'Arg1Аргумент операции.
beginAction
Тип: 'Arg1 * AsyncCallback * obj -> IAsyncResultФункция, инициирующая традиционную асинхронную операцию CLI.
endAction
Тип: IAsyncResult -> 'TФункция, завершающая традиционную асинхронную операцию CLI.
cancelAction
Тип: (unit -> unit)Необязательная функция, выполняемая при запросе отмены.
Возвращаемое значение
Асинхронное вычисление, заключающее в оболочку заданные функции Begin/End.
Заметки
Эту перегрузку следует использовать, если операция определяется одним аргументом. Например, с помощью следующего кода можно создать асинхронное вычисление для вызова веб-службы.
Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)
При запуске вычисления выполняется функция beginFunc с обратным вызовом, который представляет продолжение вычисления. При использовании обратного вызова окончательный результат получается с помощью функции endFunc.
Вычисление будет реагировать на отмену, ожидая завершения операции. Если произошла отмена и указано действие cancelAction, это действие выполняется, и вычисление продолжает ожидать завершения операции. Если действие cancelAction не указано, отмена вызывает немедленное прекращение вычисления, и последующие вызовы функции обратного вызова игнорируются.
Пример см. в разделе Async.FromBeginEnd<'T> - метод (F#).
Платформы
Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)
Сведения о версии
Среда выполнения F#
Поддерживается в версиях 2.0, 4.0
Silverlight
Поддерживается в версии 3