#pragma warning disable UseAsyncSuffix // Must match interface /// <inheritdoc/> public async Task <bool> MoveNext(CancellationToken cancellationToken) #pragma warning restore UseAsyncSuffix // Must match interface { var hasMoreLocalItems = _initialized && _pagedEnumerator.CurrentPage.Items.Any() && _localPageIndex < _pagedEnumerator.CurrentPage.Items.Count(); if (hasMoreLocalItems) { _localPageIndex++; return(true); } var movedNext = await _pagedEnumerator.MoveNextAsync(cancellationToken).ConfigureAwait(false); if (!movedNext) { return(false); } _initialized = true; _localPageIndex = 0; return(_pagedEnumerator.CurrentPage.Items.Any()); }
/// <inheritdoc/> public async ValueTask <bool> MoveNextAsync() { var hasMoreLocalItems = _initialized && _pagedEnumerator.CurrentPage.Items.Any() && _localPageIndex < _pagedEnumerator.CurrentPage.Items.Count(); if (hasMoreLocalItems) { _localPageIndex++; return(true); } var movedNext = await _pagedEnumerator.MoveNextAsync().ConfigureAwait(false); if (!movedNext) { return(false); } _initialized = true; _localPageIndex = 0; return(_pagedEnumerator.CurrentPage.Items.Any()); }