Ho un calcolo asincrono come la seguente (vedi commenti in linea):Posso verificare esplicitamente la cancellazione/terminazione del calcolo asincrono?
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
}
Per imporre un controllo di cancellazione/terminare l'intera computazione asincrona prima parte computazione "normale" viene raggiunto, inserisco un efficace no-op do! Async.Sleep(1)
subito dopo lo do! Async.Sleep(100)
. C'è un modo più pulito per fare questo? Forse anche qualcosa come do! Async.Nop
.
perfetto, funziona benissimo! –