我有功能电话
let result = session.Query<Domain.CustomerReadModel>().ToListAsync()返回Task<Collections.Generic.IReadOnlyList<Domain.CustomerReadModel>>的
如何在F#中正确地“等待”此任务?
我试过了
async {
session.Query<Domain.CustomerReadModel>().ToListAsync() |> ignore
}以及
let result = session.Query<Domain.CustomerReadModel>().ToListAsync()
|> Async.AwaitTask
|> Async.RunSynchronously这似乎是编译的,但我不能使用结果并返回它:
session.Query<Domain.CustomerReadModel>().ToListAsync()
|> Async.AwaitTask
|> Async.RunSynchronously发布于 2021-03-12 21:59:50
Async.AwaitTask接受该任务,将其封装到async计算中,并返回该计算。一旦您拥有了它,您就可以与let!、do!或return!一起使用它,就像任何其他async计算一样。
async {
let queryAsFsharpAsync = session.Query<Domain.CustomerReadModel>().ToListAsync() |> Async.AwaitTask
let! result = queryAsFsharpAsync
...
}或者没有给出计算的名称:
async {
let! result = session.Query<Domain.CustomerReadModel>().ToListAsync() |> Async.AwaitTask
...
}https://stackoverflow.com/questions/66607688
复制相似问题