相关疑难解决方法(0)

Can I explicitly check for cancellation/terminate async computation?

I have an async computation like the following (see inline comments):

async {
  //...
  do! Async.Sleep(100) //cancellation may happen during sleep
  //... but isn't checked at the end of the sleep, so regular, non-async computations are executed here 
}
Run Code Online (Sandbox Code Playgroud)

In order to force a cancellation check/terminate the entire async computation before the "regular" computation part is reached, I insert an effective no-op do! Async.Sleep(1) immediately after the do! Async.Sleep(100). Is there a cleaner way to do this? Possibly even …

f# asynchronous

6
推荐指数
1
解决办法
207
查看次数

标签 统计

asynchronous ×1

f# ×1