gpt4 book ai didi

c# - 取消 CancellationToken 时如何运行代码?

转载 作者:太空狗 更新时间:2023-10-29 21:12:52 24 4
gpt4 key购买 nike

给定一个 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。

最佳答案

您可以注册一个 Action 以在 token 被取消时调用:

token.Register(() => { /*...*/ });

关于c# - 取消 CancellationToken 时如何运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23517505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com