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()) 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 {