[swift-evolution] [Concurrency] async/await + actors
Brent Royal-Gordon
brent at architechies.com
Mon Aug 21 15:31:28 CDT 2017
> On Aug 21, 2017, at 12:41 PM, Wallacy via swift-evolution <swift-evolution at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170821/db59aebc/attachment.html>
More information about the swift-evolution
mailing list