net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK) and abortController don't work
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- api
Hướng nghiên cứu
Bắt đầu với lệnh gọi fetchEventSource được cung cấp và kiểm tra cách callback onerror, signal của AbortController và hành vi retry tương tác với nhau trong một yêu cầu streaming. Tái hiện kịch bản net::ERR_HTTP2_PROTOCOL_ERROR lặp lại và xác minh rằng việc abort trong onerror sẽ dừng các yêu cầu tiếp theo và việc phân phối stream.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
const abortController = new AbortController()
await fetchEventSource(
`https://xxx/xx/xx/xx?query=${questionSended}&dialog_id=${this.currentDialogID}&is_stream=1`,
{
headers: {
Authorization: userinfo.token
},
signal: abortController.signal,
openWhenHidden: true,
onopen: async response => {
console.log('onopen', response)
if (response.status !== 200) {
throw new Error(`${response.status}(${response.statusText})`)
}
return
},
onmessage: res => {
const data = JSON.parse(res.data)
console.log(data)
if (data.plugin_id) return
if (data.error_code) {
throw new Error(`${data.error_code}(${data.error_msg})`)
}
if (data.prompt) {
this.relatedQuestion = data.prompt
} else {
}
},
onclose: () => {
console.log('closed')
},
onerror: err => {
console.log('err', err)
if (abortController.signal.aborted) return
this.dialogDetailList[contextIndex].answer =
'error'
abortController.abort()
}
}
)
The error occured in the middle of request, and the browser start another request to continue receiving stream data. And the same error occured. such back and forth
And l can read true value of 'abortController.signal.aborted' in error callback, but the request still continue
- Ngôn ngữ chính
- TypeScript
- Star
- 2.9k
- Fork
- 197
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Azure/fetch-event-source
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 28/100
Azure/fetch-event-source#102 ·
-
how to stop retry when onerror?Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 25/100
Azure/fetch-event-source#101 · 3 bình luận ·
-
When aborting the event source using abort controller, no callbacks (onError / onClose) are firedĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
Azure/fetch-event-source#100 · 1 bình luận · 5 reaction ·
-
Weird Vite chunk map sourcesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Azure/fetch-event-source#99 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Azure/fetch-event-source#98 · 9 reaction ·
Tất cả issue của Azure/fetch-event-source
Issue tương tự
-
[Android] Nested transforms are composed in reverse orderCó thể đã có người làm @Danyalo đã nhận hôm nay. Đang mởRepro provided
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
software-mansion/react-native-svg#3090 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
radix-ui/primitives#4228 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
rocketride-org/rocketride-server#2705 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
archon-ready archon-size-s archon-type-bug area: web
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
coleam00/Archon#4707 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
HarperFast/grafana-datasource#177 ·