mirror of
https://github.com/Monibuca/engine.git
synced 2025-10-11 19:40:16 +08:00
feat: speed up sse output
This commit is contained in:
@@ -96,17 +96,11 @@ func ReturnFetchValue[T any](fetch func() T, rw http.ResponseWriter, r *http.Req
|
|||||||
sse := NewSSE(rw, r.Context())
|
sse := NewSSE(rw, r.Context())
|
||||||
tick := time.NewTicker(tickDur)
|
tick := time.NewTicker(tickDur)
|
||||||
defer tick.Stop()
|
defer tick.Stop()
|
||||||
if isYaml {
|
writer := Conditoinal(isYaml, sse.WriteYAML, sse.WriteJSON)
|
||||||
for range tick.C {
|
writer(fetch())
|
||||||
if sse.WriteYAML(fetch()) != nil {
|
for range tick.C {
|
||||||
return
|
if writer(fetch()) != nil {
|
||||||
}
|
return
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for range tick.C {
|
|
||||||
if sse.WriteJSON(fetch()) != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user