pub struct ArtistTracksIterator { /* private fields */ }Expand description
Iterator for browsing an artist’s tracks from a user’s library.
This iterator provides paginated access to all tracks by a specific artist in the authenticated user’s Last.fm library, ordered by play count.
§Examples
let mut client = LastFmEditClientImpl::new(Box::new(http_client::native::NativeClient::new()));
// client.login(...).await?;
let mut tracks = client.artist_tracks("The Beatles");
// Get the top 5 most played tracks
let top_tracks = tracks.take(5).await?;
for track in top_tracks {
println!("{} (played {} times)", track.name, track.playcount);
}Implementations§
Source§impl ArtistTracksIterator
impl ArtistTracksIterator
Sourcepub fn new(client: LastFmEditClientImpl, artist: String) -> Self
pub fn new(client: LastFmEditClientImpl, artist: String) -> Self
Create a new artist tracks iterator.
This is typically called via LastFmEditClient::artist_tracks.
Sourcepub async fn next_page(&mut self) -> Result<Option<TrackPage>>
pub async fn next_page(&mut self) -> Result<Option<TrackPage>>
Fetch the next page of tracks.
This method handles pagination automatically and includes rate limiting to be respectful to Last.fm’s servers.
Sourcepub fn total_pages(&self) -> Option<u32>
pub fn total_pages(&self) -> Option<u32>
Get the total number of pages, if known.
Returns None until at least one page has been fetched.
Trait Implementations§
Source§impl AsyncPaginatedIterator<Track> for ArtistTracksIterator
impl AsyncPaginatedIterator<Track> for ArtistTracksIterator
Source§fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<Track>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<Track>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch the next item from the iterator. Read more
Source§fn current_page(&self) -> u32
fn current_page(&self) -> u32
Get the current page number (0-indexed). Read more
Auto Trait Implementations§
impl Freeze for ArtistTracksIterator
impl !RefUnwindSafe for ArtistTracksIterator
impl Send for ArtistTracksIterator
impl Sync for ArtistTracksIterator
impl Unpin for ArtistTracksIterator
impl !UnwindSafe for ArtistTracksIterator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more