Я пытаюсь извлечь популярные фильмы из API TMDB в моем проекте Next.js, но я продолжаю получать погрешность сигнала < /strong>. < /p>
Вот журнал ошибок: < /p>
< /p>
Код: Выделить всё
TMDb API Error: signal timed out
at TMDbService.fetchFromTMDb (/lib/tmdb)
at async TMDbService.getPopularMovies (/lib/tmdb)
at async loadPopularMovies (/app/page)
Error fetching popular movies: signal timed out
at TMDbService.getPopularMovies (/lib/tmdb)
at async loadPopularMovies (/app/page)
[*] Проверенный мой api -ключ API (работает в почтальце). /> проверил мое подключение к Интернету (это нормально).
Тот же API работает, если я называю его с curl или почтальон.// lib/tmdb.js
export class TMDbService {
static async fetchFromTMDb(endpoint) {
try {
const response = await fetch(`https://api.themoviedb.org/3/${endpoint}`, {
headers: {
Authorization: `Bearer ${process.env.TMDB_API_KEY}`,
},
signal: AbortSignal.timeout(5000), // added timeout
});
if (!response.ok) {
throw new Error(`TMDb API Error: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error("TMDb API Error:", error.message);
throw error;
}
}
static async getPopularMovies() {
return this.fetchFromTMDb("movie/popular");
}
}
// app/page.js
export default async function loadPopularMovies() {
try {
const movies = await TMDbService.getPopularMovies();
return movies;
} catch (error) {
console.error("Error fetching popular movies:", error.message);
}
}
< /code>
< /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/797 ... lar-movies
Мобильная версия