给定一个 CancellationToken,我想在取消 CancellationToken 时对表示异步操作的对象调用“取消”方法。这可能吗?
背景:我正在通过以下方式(或多或少)与代表异步操作的 API 交互:
class AsyncOp
{
void Start(Action callback);//returns 'immediately', while beginning an async op. Callback is called when the operation completes.
void Cancel();//aborts async operation and calls callback
}
我可以很容易地将它包装在一个方法中Task DoAsyncOp()
,但我想支持取消,例如Task DoAsyncOp(CancellationToken cancellationToken)
. 就我而言,当取消 CancellationToken 时,请在 AsyncOp 对象上调用 Cancel。