MailboxProcessor.TryScan <'Msg, T' > Método (F#)
Procura uma mensagem, examinando as mensagens na ordem de chegada, até que uma função fornecida retorna um Some valor. Outras mensagens permanecem na fila.
Caminho do namespace/módulo: Microsoft.FSharp.Control
Assembly: FSharp.Core (em FSharp.Core.dll)
// Signature:
member this.TryScan : ('Msg -> Async<'T> option) * ?int -> Async<'T option>
// Usage:
mailboxProcessor.TryScan (scanner)
mailboxProcessor.TryScan (scanner, timeout = timeout)
Parâmetros
scanner
Tipo: 'Msg -> Async<'T> opçãoUma função que retorna None se a mensagem for seja ignorada, ou Some se a mensagem deve ser processado e removido da fila.
timeout
Tipo: intUm opcional de tempo limite em milissegundos. Padrão é -1, o que corresponde a Infinite().
Valor de retorno
Uma computação assíncrona (Async objeto) que scanner criado a partir da mensagem de leitura.
Comentários
Este método é para uso dentro do corpo do agente. Para cada agente, no máximo um leitor simultâneo pode estar ativo, portanto, não mais de uma chamada simultânea para receber, TryReceive, Digitalizar ou TryScan pode ser ativo. O corpo da scanner função é bloqueada durante sua execução, mas o bloqueio será liberado antes da execução do fluxo de trabalho assíncrono.
Plataformas
O Windows 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informações sobre versão
O tempo de execução F#
Compatível com: 2.0, 4.0
Silverlight
Compatível com: 3