描述
上一篇文章,写了go如何实现Event事件,有几个可以优化的地方.
sync.Map保存结果可以不用这么复杂.
改用context关闭通道更加方便
Event实现
package common
import (
"context"
"errors"
"go.uber.org/zap"
"time"
)
func NewEvent() *Event {
e := &Event{
log: zap.S(),
}
e.Reset()
return e
}
type Event struct{
waiters []chan interface{
}