What you're looking for is cancellation support - you can find it in [chronos](https://github.com/status-im/nim-chronos/blob/87197230779002a2bfa8642f0e2ae07e2349e304/chronos/asyncfutures2.nim#L298), but not in asyncdispatch, last I checked.
That said, even if you cancel something, it might run or might already have run and you just don't know about it yet - this is the nature of async programming.