SendAsync with CancellationToken
本文关键字:CancellationToken with SendAsync | 更新日期: 2023-09-27 18:08:46
我正在查看我的旧项目的代码,我发现了这个:
private async void send(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = await _client.SendAsync(request, cancellationToken);
//...
}
我想知道如果取消了会发生什么?
回应内容是什么?
我是否需要在那之后调用ThrowIfCancellationRequested
,或者它本身会引发异常?
我想知道如果取消了会发生什么?
标准模式是取消返回的任务。这将导致您的await
引发OperationCanceledException
。
回应内容是什么?
没有响应对象,因为异常在该点之前被抛出。
你需要像这样调用它
...
cancelToken.ThrowIfCancellationRequested();
HttpResponseMessage response = await _client.SendAsync(request, cancellationToken);
...
当您请求取消时,它将抛出OperationCanceledException类型的异常。