Asynchronous 异步-如果第一次异步成功,则执行另一次异步,否则为false
对于如何完成这项看似简单的任务,我有点困惑。我正在使用Asynchronous 异步-如果第一次异步成功,则执行另一次异步,否则为false,asynchronous,f#,Asynchronous,F#,对于如何完成这项看似简单的任务,我有点困惑。我正在使用WSDL类型提供程序。我想调用一个请求,如果成功,则调用另一个请求并返回结果: let submitAll answers info = async { let! answerResult = ws.AddAnswersAsync(info.id, answers) |> Async.AwaitIAsyncResult return! if answerResult then ws.SubmitInfo(info
WSDL类型提供程序
。我想调用一个请求,如果成功,则调用另一个请求并返回结果:
let submitAll answers info = async {
let! answerResult = ws.AddAnswersAsync(info.id, answers) |> Async.AwaitIAsyncResult
return!
if answerResult
then ws.SubmitInfo(info) |> Async.AwaitIAsyncResult
else false
}
所以,我知道我返回了两种类型。但我不确定如何处理false
,是否有一种简单的方法使其异步
有没有更好的方法来编写这种异步流?我问了这个问题,然后马上就想出来了,去想吧!在中查找AsyncChoice或AsyncChoice
let submitAll answers info = async {
let! answerResult = ws.AddAnswersAsync(info.id, answers) |> Async.AwaitIAsyncResult
return!
if answerResult
then ws.SubmitInfo(info) |> Async.AwaitIAsyncResult
else async {return false}
}