func makeAsync<T>(_: ((T) -> ()) -> ()) async -> T
func foo() async -> Int { return await makeAsync { emit in DispatchQueue.main.asyncAfter(deadline: .now + 5.0) { emit(42) } } }
(edited)func makeAsync<T>(_: ((T) -> ()) throws -> ()) async rethrows -> T
do
- defer
相当のものは同期化というのがあり得る気がしてるんですが、現実的にはノンブロッキング化する方が必要だろうなと。func pureInt() -> Int { do { return await asyncInt() } wait }
catch
によく対応してるような気はします。func doAsync(_: () async -> ())
みたいな。 (edited)