共用方式為


Control.Async 類別 (F#)

包含用來建立和管理非同步計算的成員。 Control.Async 為靜態類別。

**命名空間/模組路徑:**Microsoft.FSharp.Control

組件:FSharp.Core (在 FSharp.Core.dll 中)

[<Sealed>]
type Async =
 class
  static member AsBeginEnd : ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit)
  static member AwaitEvent : IEvent<'Del,'T> * ?(unit -> unit) -> Async<'T>
  static member AwaitIAsyncResult : IAsyncResult * ?int -> Async<bool>
  static member AwaitTask : Task<'T> -> Async<'T>
  static member AwaitWaitHandle : WaitHandle * ?int -> Async<bool>
  static member CancelDefaultToken : unit -> unit
  static member Catch : Async<'T> -> Async<Choice<'T,exn>>
  static member FromBeginEnd : 'Arg1 * 'Arg2 * 'Arg3 * ('Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : 'Arg1 * 'Arg2 * ('Arg1 * 'Arg2 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromBeginEnd : (AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>
  static member FromContinuations : (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T>
  static member Ignore : Async<'T> -> Async<unit>
  static member OnCancel : (unit -> unit) -> Async<IDisposable>
  static member Parallel : seq<Async<'T>> -> Async<'T []>
  static member RunSynchronously : Async<'T> * ?int * ?CancellationToken -> 'T
  static member Sleep : int -> Async<unit>
  static member Start : Async<unit> * ?CancellationToken -> unit
  static member StartAsTask : Async<'T> * ?TaskCreationOptions * ?CancellationToken -> Task<'T>
  static member StartChild : Async<'T> * ?int -> Async<Async<'T>>
  static member StartChildAsTask : Async<'T> * ?TaskCreationOptions -> Async<Task<'T>>
  static member StartImmediate : Async<unit> * ?CancellationToken -> unit
  static member StartWithContinuations : Async<'T> * ('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) * ?CancellationToken -> unit
  static member SwitchToContext : SynchronizationContext -> Async<unit>
  static member SwitchToNewThread : unit -> Async<unit>
  static member SwitchToThreadPool : unit -> Async<unit>
  static member TryCancelled : Async<'T> * (OperationCanceledException -> unit) -> Async<'T>
  static member CancellationToken :  Async<CancellationToken>
  static member DefaultCancellationToken :  CancellationToken
 end

備註

這個型別在已編譯的組件中名為 FSharpAsync。 如果是透過 F# 以外的語言,或是透過反映來存取型別,請使用這個名稱。

如需非同步工作流程的概觀,請參閱非同步工作流程 (F#)

靜態成員

成員

描述

AsBeginEnd

建立三個函式,可用於針對提供的非同步計算來實作 .NET Framework 非同步程式設計模型 (APM)。

AwaitEvent

建立非同步計算,該計算會透過將處理常式加入至事件,等待單一叫用 .NET Framework 事件。 當計算完成或取消時,會從事件中移除處理常式。

AwaitIAsyncResult

建立會等待所提供之 IAsyncResult 的非同步計算。

AwaitTask

傳回非同步計算,這個計算會等候指定的計算完成並傳回其結果。

AwaitWaitHandle

建立會等待所提供之 WaitHandle 的非同步計算。

CancelDefaultToken

針對最近已啟動但沒有任何特定 CancellationToken 的一組非同步計算,引發取消條件。 針對在此之後建立但沒有任何特定 CancellationToken 的任何非同步計算,以新的全域語彙基元來源取代全域 CancellationTokenSource

CancellationToken

建立非同步計算,這個計算會傳回管理計算執行的 CancellationToken

Catch

建立非同步計算。 如果成功完成這次計算,此方法會傳回含傳回值的Choice1Of2。 如果這個計算在完成之前引發例外狀況,此方法會傳回具有所引發例外狀況的 Choice2Of2。

DefaultCancellationToken

取得用來執行非同步計算的預設取消語彙基元。

FromBeginEnd<'T>

指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。

FromBeginEnd<'Arg1,'T>

指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果透過一個引數來限定作業,則應該使用這個多載。

FromBeginEnd<'Arg1,'Arg2,'T>

指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果作業是以兩個引數來限定,則應使用這個多載。

FromBeginEnd<'Arg1,'Arg2,'Arg3,'T>

指定開始和結束函式 (例如 .NET Framework API),以建立非同步計算。 如果作業是以三個引數來限定,則應使用這個多載。

FromContinuations

建立非同步計算,這個計算比較目前的成功、例外狀況和取消接續。 回呼函式最後必須剛好呼叫其中一個指定的接續。

Ignore

建立會執行所指定計算並忽略其結果的非同步計算。

OnCancel

產生具有範圍、合作式的取消處理常式,以用於非同步工作流程內。

Parallel

建立非同步計算,這個計算會執行所有提供的非同步計算,一開始會將每個計算都佇列為工作項目並使用分岔/聯結模式。

RunSynchronously

執行非同步計算並等待其結果。

睡眠

建立會在暫停指定時間的非同步計算。 Timer物件,用來排定延遲。 該作業不會將作業系統執行緒封鎖長達延遲時間之久。

Start

在執行緒集區中啟動非同步計算。 不等待它的結果。

StartAsTask

在執行緒集區中執行計算。 傳回 Task,一旦計算結束 (產生結果、擲回例外狀況或被取消) 此項目就會完成對應的狀態。如果未提供取消語彙基元,則會使用預設的取消語彙基元。

StartChild

啟動非同步工作流程內的子計算。 這允許同時執行多個非同步計算。

StartChildAsTask

建立非同步計算,這個計算會將指定的計算當做 Task 開始執行。

StartImmediate

直接從目前的作業系統執行緒開始,傳回非同步計算。

StartWithContinuations

直接從目前的作業系統執行緒開始,傳回非同步計算。 作業完成時,這個方法會呼叫三個接續項目的其中一個。

SwitchToContext

建立非同步計算,此計算會使用提供之同步內容的 Post 方法執行接續。 如果提供的同步內容是null,非同步計算相當於SwitchToThreadPool

SwitchToNewThread

建立非同步計算,這個計算會建立新執行緒並在該執行緒中執行其接續。

SwitchToThreadPool

建立非同步計算,這個計算將執行其接續的工作項目列入佇列。

TryCancelled

建立會執行所提供之計算的非同步計算。 如果這個計算在完成之前遭到取消,則會透過執行提供的補償函式產生計算。

平台

Windows 8 中, Windows 7, Windows Server 2012 上, Windows Server 2008 R2

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

參考

Microsoft.FSharp.Control 命名空間 (F#)

非同步工作流程 (F#)

Control.Async<'T> 型別 (F#)