|
@@ -13,6 +13,8 @@ import (
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
+var ErrIgnoreBusinessResult = errors.New("忽略业务结果")
|
|
|
+
|
|
|
type BusinessFunc[I any, O any] func(c *mqtt_client.MqttClient, inputModel I) (O, error)
|
|
|
type BindingFunc[O any] func(c *mqtt_client.MqttClient, item *router.Item, request any, sendFunc response.SendFunc[O]) bool
|
|
|
|
|
@@ -149,6 +151,10 @@ func (item *BindItem[I, O]) bind(r *router.Router, bindingResponseIdentifier res
|
|
|
|
|
|
if item.BusinessFunc != nil {
|
|
|
outputModel, err := item.BusinessFunc(mqttClientInstance, inputModel)
|
|
|
+ if errors.Is(err, ErrIgnoreBusinessResult) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
item.ResponseFunc(mqttClientInstance, routerItem, responseIdentifier, outputModel, err)
|
|
|
return
|
|
|
}
|