标题:在获取测验问题时如何处理 JavaScript 中的 API 速率限制?问题:我正在开发一个从 Open Trivia Database API 获取问题的测验应用程序。该 API 有一个...
标题:获取测验问题时如何处理 JavaScript 中的 API 速率限制?
问题:
我正在开发一个测验应用程序,它从 Open Trivia Database API 中获取问题。该 API 的速率限制为 5 秒,当我连续多次调用该 API 时,会出现错误。
以下是我使用的代码:
export const fetchQuizQuestions = async (
category: string,
difficulty: string
): Promise<Question[]> => {
try {
const response = await fetch(
`https://opentdb.com/api.php?amount=5&category=${category}&difficulty=${difficulty}&type=multiple`
);
const data = await response.json();
if (data.response_code === 0) {
return data.results as Question[]; // Cast results to Question[]
} else {
throw new Error('Failed to fetch questions');
}
} catch (error) {
console.error('Error fetching quiz questions:', error);
throw error;
}
};
问题:当我快速连续多次调用此函数时,由于 API 的 5 秒速率限制,我不断收到错误。,我不想在控制台中出现错误 =D
问题:如何修改代码以处理速率限制并避免在连续调用 API 时出错?我应该使用哪些策略或模式来确保不超过速率限制?