> On Aug 21, 2017, at 12:41 PM, Wallacy via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Based on these same concerns, how to do this using async/await ?
> 
> func process() -> Void) {
>     loadWebResource("bigData.txt") { dataResource in
>         //....
>     }
>     printf("BigData Scheduled to load")
>     loadWebResource("smallData.txt") { dataResource in
>         //....
>     }
>     printf("SmallData Scheduled to load")
> 
> }


You would use something like the `Future` type mentioned in the proposal:

        func process() {
                let bigDataFuture = Future { await 
loadWebResource("bigData.txt") }
                print("BigData scheduled to load")
                
                let smallDataFuture = Future { await 
loadWebResource("smallData.txt") }
                print("SmallData scheduled to load")
                
                let bigDataResource = await bigDataFuture.get()
                let smallDataResource = await smallDataFuture.get()
                // or whatever; you could probably chain off the futures to 
handle whichever happens first first.
                ...
        }

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to