Alternatively, until futures are a thing, you can call `beginAsync` twice to start to async tasks:
func process() -> Void { beginAsync { let dataResource = await loadWebResource("bigData.txt") //.... } print("BigData Scheduled to load") beginAsync { let dataResource = await loadWebResource("smallData.txt") //.... } } Futures have a number of advantages. For instance, you can use a nullable Future to keep track of whether the task has been started at all. Félix > Le 21 août 2017 à 13:32, Brent Royal-Gordon via swift-evolution > <swift-evolution@swift.org> a écrit : > >> On Aug 21, 2017, at 12:41 PM, Wallacy via swift-evolution >> <swift-evolution@swift.org <mailto: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
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution