Async.AwaitIAsyncResult Yöntemi (F#)
Beklemek zaman uyumsuz bir hesaplama oluşturur IAsyncResult.
Ad alanı/modül yolu: Microsoft.FSharp.Control
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
static member AwaitIAsyncResult : IAsyncResult * ?int -> Async<bool>
// Usage:
Async.AwaitIAsyncResult (iar)
Async.AwaitIAsyncResult (iar, millisecondsTimeout = millisecondsTimeout)
Parametreler
iar
Türü:IAsyncResultÜzerinde beklenilen IAsyncResult.
millisecondsTimeout
Türü: intMilisaniye cinsinden zaman aşımı değeri. Sağlanmadıysa, Infinite'e karşılık gelir ve varsayılan değeri -1'dir.
Dönüş Değeri
Verilen IAsyncResult üzerinde bekleyen zaman uyumsuz hesaplama.
Notlar
Hesaplama fonksiyonu true tanıtıcısı belirtilen zaman aşımı süresi içinde bir sonuç belirtilmişse.
Örnek
Aşağıdaki kod örneği nasıl kullanılacağı gösterilmiştir Async.AwaitIAsyncResult ayarlamak ve bir önceki .net Framework zaman uyumsuz işlem vermediğinde tetikleyen hesaplaması çalıştırmak için bir IAsyncResult biter. Bu durumda, çağrı AwaitIAsyncResult okumak için dosyayı açmadan önce tamamlanması gereken bir dosya yazma işlemi için beklenecek işlemi neden olur.
open System.IO
let streamWriter1 = File.CreateText("test1.txt")
let count = 10000000
let buffer = Array.init count (fun index -> byte (index % 256))
printfn "Writing to file test1.txt."
let asyncResult = streamWriter1.BaseStream.BeginWrite(buffer, 0, count, null, null)
// Read a file, but use AwaitIAsyncResult to wait for the write operation
// to be completed before reading.
let readFile filename asyncResult count =
async {
let! returnValue = Async.AwaitIAsyncResult(asyncResult)
printfn "Reading from file test1.txt."
// Close the file.
streamWriter1.Close()
// Now open the same file for reading.
let streamReader1 = File.OpenText(filename)
let! newBuffer = streamReader1.BaseStream.AsyncRead(count)
return newBuffer
}
let bufferResult = readFile "test1.txt" asyncResult count
|> Async.RunSynchronously
Platformlar
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Sürüm Bilgisi
F# Çekirdek Kitaplığı sürümleri
Desteklenen: 2.0, 4.0, Portable