Я хотел бы заблокировать асинхронное выполнение, пока пользователи не нажмут любую клавишу в консоли.
Вот что я придумала:
let waitForAnyKey = async {
do!
new Task (fun () ->
printfn "%s" "waiting for a key"
Console.ReadKey () |> ignore
printfn "%s" "got a key"
)
|> Async.AwaitTask
}
Используется так:
async {
printfn "%s" "Press any key... "
do! waitForAnyKey
printfn "%s" "You pressed a key. "
}
Однако Task
никогда не запускается.
- Как мне написать это на F #?
- Могу ли я избежать создания
Task
для этого целиком?