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];