diff --git a/src/async.js b/src/async.js index 53f6952..996771f 100644 --- a/src/async.js +++ b/src/async.js @@ -39,13 +39,17 @@ function Async() { var threads = arguments; var pending = threads.length; var results = []; + var returned = []; return function(f) { var useResult = function(i) { return function(x) { - results[i] = x; - pending--; - if(pending < 1) { - f(results); + if(!returned[i]) { + results[i] = x; + returned[i] = true; + pending--; + if(pending < 1) { + f(results); + } } }; };