速率限制
了解速率限制、配额以及如何处理 429 响应。
速率限制
AllToken 实施速率限制以确保所有用户的公平使用。限制按 API Key 应用,因账户套餐而异。
超出速率限制时,API 返回 429 Too Many Requests 响应。请在重试逻辑中实现指数退避:
TypeScript
| 1 | async function withRetry(fn, maxRetries = 3) { |
| 2 | for (let i = 0; i < maxRetries; i++) { |
| 3 | try { |
| 4 | return await fn(); |
| 5 | } catch (err) { |
| 6 | if (err.status === 429 && i < maxRetries - 1) { |
| 7 | await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000)); |
| 8 | continue; |
| 9 | } |
| 10 | throw err; |
| 11 | } |
| 12 | } |
| 13 | } |
速率限制响应头
速率限制信息包含在响应头中:
x-ratelimit-limit— 每个时间窗口的最大请求数x-ratelimit-remaining— 当前窗口剩余请求数x-ratelimit-reset— 窗口重置时间戳