以下代码在我使用
async
await
并将IEnumerable
包装在Task
中时,会抛出is not an iterator interface type的错误。如果我删除async
await
,它将与IEnumerable<List<T>>
一起工作。private async Task<IEnumerable<List<T>>> GetTableDataAsync<T>(CloudTable cloudTable, TableQuery<T> tableQuery)
where T : ITableEntity, new()
{
TableContinuationToken contineousToken = null;
do
{
var currentSegment = await GetAzureTableDateAsync(cloudTable, tableQuery, contineousToken);
contineousToken = currentSegment.ContinuationToken;
yield return currentSegment.Results;
} while (contineousToken != null);
}
虽然我可以考虑使用 Rx,但我不确定是什么导致了这个问题。