From 0b0745b0d52c9a756d64ce2316e85faedd70dcff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20Mu=CC=88ller?= Date: Tue, 9 Jul 2013 10:29:32 +0200 Subject: [PATCH] pass all values when resolving combined promise --- objc-promise/Promise.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/objc-promise/Promise.m b/objc-promise/Promise.m index 5e15dbb..7df2b20 100644 --- a/objc-promise/Promise.m +++ b/objc-promise/Promise.m @@ -140,9 +140,14 @@ + (Promise *)and:(NSArray *)promises [promise when:^(id result) { resolvedCount++; - // all promises have resolved, resolve our promise + // all promises have resolved, + // resolve our promise with all values if (resolvedCount == count) { - [deferred resolve:result]; + NSMutableArray *finalResult = + [NSMutableArray arrayWithCapacity:count]; + for (Promise *promise in promises) + [finalResult addObject:promise.result]; + [deferred resolve:finalResult]; } } failed:^(NSError *error){ [deferred reject:error];