feat: speed up sse output

This commit is contained in:
langhuihui
2023-08-21 14:50:56 +08:00
parent 3fac2cd570
commit 3d14717f69

View File

@@ -96,17 +96,11 @@ func ReturnFetchValue[T any](fetch func() T, rw http.ResponseWriter, r *http.Req
sse := NewSSE(rw, r.Context())
tick := time.NewTicker(tickDur)
defer tick.Stop()
if isYaml {
for range tick.C {
if sse.WriteYAML(fetch()) != nil {
return
}
}
} else {
for range tick.C {
if sse.WriteJSON(fetch()) != nil {
return
}
writer := Conditoinal(isYaml, sse.WriteYAML, sse.WriteJSON)
writer(fetch())
for range tick.C {
if writer(fetch()) != nil {
return
}
}
} else {