Not sure but you should add some print in your code to see when all your closures execute as you seem to always change queue even when you already are in the same queue. You may do the fetch on main queue or block it from other thread.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: