I'm pretty sure I just wrote the cleanest implementation of a repeating asynchronous task to download multiple pages of content from a REST API that I have ever written and likely will ever write.
In summary: PromiseKit is the best thing since sliced bread.
Related, this is the only time I've written a recursive method call that hasn't ended in an infinite loop on the first few tries 😁