Fix zip operator not producing a Subscription
parent
4a475209f1
commit
823c9526f8
9
rx.lua
9
rx.lua
|
@ -1813,6 +1813,7 @@ function Observable.zip(...)
|
|||
return Observable.create(function(observer)
|
||||
local values = {}
|
||||
local active = {}
|
||||
local subscriptions = {}
|
||||
for i = 1, count do
|
||||
values[i] = {n = 0}
|
||||
active[i] = true
|
||||
|
@ -1858,8 +1859,14 @@ function Observable.zip(...)
|
|||
end
|
||||
|
||||
for i = 1, count do
|
||||
sources[i]:subscribe(onNext(i), onError, onCompleted(i))
|
||||
subscriptions[i] = sources[i]:subscribe(onNext(i), onError, onCompleted(i))
|
||||
end
|
||||
|
||||
return Subscription.create(function()
|
||||
for i = 1, count do
|
||||
if subscriptions[i] then subscriptions[i]:unsubscribe() end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ function Observable.zip(...)
|
|||
return Observable.create(function(observer)
|
||||
local values = {}
|
||||
local active = {}
|
||||
local subscriptions = {}
|
||||
for i = 1, count do
|
||||
values[i] = {n = 0}
|
||||
active[i] = true
|
||||
|
@ -60,7 +61,13 @@ function Observable.zip(...)
|
|||
end
|
||||
|
||||
for i = 1, count do
|
||||
sources[i]:subscribe(onNext(i), onError, onCompleted(i))
|
||||
subscriptions[i] = sources[i]:subscribe(onNext(i), onError, onCompleted(i))
|
||||
end
|
||||
|
||||
return Subscription.create(function()
|
||||
for i = 1, count do
|
||||
if subscriptions[i] then subscriptions[i]:unsubscribe() end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue