heckj / swiftui-notes

content for Using Combine - notes on learning Combine with UIKit and SwiftUI
https://heckj.github.io/swiftui-notes/
MIT License
1.98k stars 205 forks source link

`allSatisfy` description is misleading #216

Open jayrhynas opened 4 years ago

jayrhynas commented 4 years ago

I noticed that the section on allSatisfy says that the operator only publishes a value once the upstream publisher finishes. However, allSatisfy actually short-circuits in the same way containsWhere does, immediately publishing false and finishing once the predicate returns false.

The Apple documentation does specify this behaviour:

When this publisher receives an element, it runs the predicate against the element. If the predicate returns false, the publisher produces a false value and finishes. If the upstream publisher finishes normally, this publisher produces a true value and finishes.

heckj commented 4 years ago

Thanks @jayrhynas - I'll get it updated!