diff --git a/contrib/extension/subscription/subscription.go b/contrib/extension/subscription/subscription.go index 7cbaef921cbf59970e313d84c6a382094a0f713f..f6c54b2ff2129fb9d962637eb9c47f0a889afcd3 100644 --- a/contrib/extension/subscription/subscription.go +++ b/contrib/extension/subscription/subscription.go @@ -99,6 +99,10 @@ func (n *Notifier) Notify(data any) error { return n.send(enc) } +func (n *Notifier) Err() <-chan error { + return n.err +} + func (n *Notifier) send(data json.RawMessage) error { params, _ := json.Marshal(&subscriptionResult{ID: string(n.id), Result: data}) return n.h.Notify(n.namespace+notificationMethodSuffix, json.RawMessage(params)) diff --git a/example/subscription/main.go b/example/subscription/main.go index c69aa44653ee97e53dc491365b1f8c305aeab75b..06b467c62da3be3207f4745568a6d4eca0dc6b39 100644 --- a/example/subscription/main.go +++ b/example/subscription/main.go @@ -41,6 +41,7 @@ func main() { for { select { case <-r.Context().Done(): + case <-notifier.Err(): default: } notifier.Notify(idx)