From 3d14717f69e6db3de0349a015a7fa4574b6129bd Mon Sep 17 00:00:00 2001 From: langhuihui <178529795@qq.com> Date: Mon, 21 Aug 2023 14:50:56 +0800 Subject: [PATCH] feat: speed up sse output --- util/socket.go | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/util/socket.go b/util/socket.go index 33d2e7c..5552fb5 100644 --- a/util/socket.go +++ b/util/socket.go @@ -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 {