Stream idle timeout - no chunks received
错误信息
API Error: Stream idle timeout - no chunks received
AI 解决方案
1. 🌐 错误翻译
原文:API Error: Stream idle timeout - no chunks received
译文:API 错误:流空闲超时 - 未收到任何数据块
2. 🎯 原因分析
3. 💡 解决方案
// 修复后的代码示例:增加请求超时时间,并添加流式数据监听逻辑
const streamRequest = async () => {
const controller = new AbortController();
// 设置合理的超时时间(根据业务需求调整,单位毫秒)
const timeoutId = setTimeout(() => controller.abort(), 60000);
try {
const response = await fetch('https://api.example.com/stream', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ /* 业务参数 */ }),
signal: controller.signal, // 关联超时控制
});
if (!response.ok) throw new Error(`HTTP Error: ${response.status}`);
const reader = response.body.getReader();
const decoder = new TextDecoder();
let receivedData = '';
while (true) {
const { done, value } = await reader.read();
if (done) break;
receivedData += decoder.decode(value);
// 处理接收到的数据块
console.log('Received chunk:', receivedData);
}
} finally {
clearTimeout(timeoutId);
}
};
streamRequest().catch(err => console.error('Stream request failed:', err));