net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK) and abortController don't work
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- api
Direzione di ricerca
Inizia con la chiamata fetchEventSource fornita e analizza come interagiscono il suo callback onerror, il segnale AbortController e il comportamento di retry durante una richiesta di streaming. Riproduci lo scenario ripetuto net::ERR_HTTP2_PROTOCOL_ERROR e verifica che l’interruzione in onerror arresti le richieste successive e la consegna dello stream.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- TypeScript
- Stelle
- 2.9k
- Fork
- 197
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/fetch-event-source
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 28/100
Azure/fetch-event-source#102 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Azure/fetch-event-source#101 · 3 commenti ·
-
When aborting the event source using abort controller, no callbacks (onError / onClose) are firedAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
Azure/fetch-event-source#100 · 1 commento · 5 reazioni ·
-
Weird Vite chunk map sourcesAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Azure/fetch-event-source#99 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Azure/fetch-event-source#98 · 9 reazioni ·
Tutte le issue di Azure/fetch-event-source
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
zts212653/clowder-ai#1678 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
Progressive-Victory/the-website#680 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100