Avatar
GCD とは直交なイメージです。 GCD は非同期処理を実行するためのもので、 async/await は非同期処理をハンドリングするためのものみたいな?
2:03 AM
僕がイメージしているのは、 throwsResult<T> は相互変換できるので、同じようにして asyncPromise<T> を変換できるというものです。
2:03 AM
なので
2:04 AM
throws : async try : await Result : Promise がすべて同じ関係になるだろうと。
2:04 AM
そう考えると、 rethrows と同じように reasync という概念が必要になるんじゃないかと思ってます。
2:05 AM
let r = await [2, 3, 5].map { (x: Int) async -> Int in ... }
2:06 AM
throws なクロージャが渡された maptry しなきゃいけないように、 async なクロージャが渡された map は↑のように await しなきゃいけないようにしたいと。 (edited)
2:07 AM
reasync がないと、 mapasync なクロージャを渡せなくなってしまいます。