Lỗi phản hồi dạng luồng
Chỉ thấy đầu ra khi kết thúc
Kiểm tra JSON có chứa "stream": true, curl dùng -N, reverse proxy đã tắt bộ đệm phản hồi và ứng dụng đọc luồng thay vì chờ response.json().
Đầu ra dừng giữa chừng
Ghi lại các sự kiện đã nhận, lý do kết thúc và lỗi nếu có. Kiểm tra tổng thời gian chờ của ứng dụng, thời gian chờ khi proxy không nhận dữ liệu, thay đổi mạng, upstream chấm dứt và thao tác hủy của người dùng. Không tự động phát lại yêu cầu công cụ hoặc yêu cầu ghi dữ liệu.
JSON hỏng hoặc văn bản lỗi
Một khối dữ liệu mạng không nhất thiết là một sự kiện SSE hoàn chỉnh. Hãy dùng SDK hoặc bộ phân tích SSE cùng bộ giải mã UTF-8 tăng dần:
// Giữ lại byte UTF-8 chưa hoàn chỉnh giữa các khối dữ liệu mạng.
const decoder = new TextDecoder('utf-8')
const reader = response.body.getReader()
while (true) {
// done chỉ thành true khi nội dung phản hồi kết thúc.
const { value, done } = await reader.read()
if (done) break
// stream:true tránh giải mã ký tự nhiều byte quá sớm.
const text = decoder.decode(value, { stream: true })
// Gửi text vào bộ phân tích SSE; đừng coi nó là một đối tượng JSON hoàn chỉnh.
}Hãy nối văn bản delta tăng dần nhưng thay thế ảnh chụp trạng thái tích lũy; trộn cả hai sẽ tạo nội dung trùng. Tham số công cụ có thể đến qua nhiều sự kiện, vì vậy hãy chờ lời gọi hoàn chỉnh trước khi phân tích và thực thi.
