diff --git a/src/api.js b/src/api.js index 7cec218..33c9024 100644 --- a/src/api.js +++ b/src/api.js @@ -43,9 +43,12 @@ export async function ndAuth() { const ITUNES = 'https://itunes.apple.com'; export async function itunesSearch(query, entity='musicTrack', limit=25) { - const r = await fetch(`${ITUNES}/search?term=${encodeURIComponent(query)}&media=music&entity=${entity}&limit=${limit}&country=us&explicit=Yes`); - const d = await r.json(); - return d.results || []; + try { + const r = await fetch(`${ITUNES}/search?term=${encodeURIComponent(query)}&media=music&entity=${entity}&limit=${limit}&country=us&explicit=Yes`); + const text = await r.text(); + if (!text) return []; + return JSON.parse(text).results || []; + } catch { return []; } } export async function itunesLookupAlbum(collectionId) { diff --git a/src/spotify.js b/src/spotify.js index a0ac455..fe507e3 100644 --- a/src/spotify.js +++ b/src/spotify.js @@ -172,7 +172,7 @@ async function _loadSpotifyTrackArtwork(tracks, listEl) { }); // Enrich each track with iTunes data — same call as global search - const CONC = 8; + const CONC = 4; for (let i = 0; i < tracks.length; i += CONC) { const batch = tracks.slice(i, i + CONC); await Promise.all(batch.map(async (t, bi) => {