Skip to content

Commit 376a618

Browse files
authored
fix(observe): fix error with multiple subscriber (#58)
1 parent 6bf421b commit 376a618

File tree

2 files changed

+3
-7
lines changed

2 files changed

+3
-7
lines changed

observable.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ type iterableImpl struct {
3131
}
3232

3333
func (i *iterableImpl) Observe() <-chan interface{} {
34-
i.connect()
3534
ch := make(chan interface{})
3635
i.mutex.Lock()
3736
i.subscribers = append(i.subscribers, ch)
3837
i.mutex.Unlock()
38+
i.connect()
3939
return ch
4040
}
4141

observable_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,11 @@ func TestObservable(t *testing.T) {
4343
consumer2 := source.Subscribe(0x13).OnObserve(callback2)
4444

4545
for range consumer1 {
46-
if count1 == 3 || err1 != nil {
47-
break
48-
}
46+
4947
}
5048

5149
for range consumer2 {
52-
if count2 == 3 || err2 != nil {
53-
break
54-
}
50+
5551
}
5652

5753
assert.NoError(t, err1, fmt.Sprintf("subscribe2 error:%v", err1))

0 commit comments

Comments
 (0)