【发布时间】:2021-01-16 02:00:58
【问题描述】:
这是我的代码:
var policy = Policy
.Handle<HttpRequestException>()
.RetryAsync(1);
HttpResponseMessage httpResponse = null;
await policy.ExecuteAsync(async () =>
{
httpResponse = await _graphClient.HttpProvider.SendAsync(batchRequest);
});
这很好用。我将代码修改为:
var policy = Policy
.Handle<HttpRequestException>()
.OrResult<HttpResponseMessage>(r => r.StatusCode == (HttpStatusCode)429)
.RetryAsync(1);
然后它返回此错误:
并非所有代码路径都在
Func<Task<HttpResponseMessage>>类型的 lambda 表达式中返回值
【问题讨论】:
-
请在您配置
policy的位置发布您的整个函数 - 以及整个 编译器错误消息。我认为编译错误在另一行。你重建了吗? -
@user989988 你只需要在你的
ExecuteAsync的委托末尾添加以下语句:return httpResponse;。