浏览代码

Fix Observable.reduce;

bjorn 9 年之前
父节点
当前提交
4c7eb354cc
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. 8 3
      rx.lua

+ 8 - 3
rx.lua

@@ -540,11 +540,16 @@ end
 -- @returns {Observable}
 -- @returns {Observable}
 function Observable:reduce(accumulator, seed)
 function Observable:reduce(accumulator, seed)
   return Observable.create(function(observer)
   return Observable.create(function(observer)
-    local result
+    local result = seed
+    local first = true
 
 
     local function onNext(...)
     local function onNext(...)
-      result = result or seed or (...)
-      result = accumulator(result, ...)
+      if first and seed == nil then
+        result = ...
+        first = false
+      else
+        result = accumulator(result, ...)
+      end
     end
     end
 
 
     local function onError(e)
     local function onError(e)