Avatar
Avatar
omochimetaru
エラーになってるのは withCheckedContinuationbody 引数は asyncではない関数を受け取るのに、 クロージャの中で await しているから async な関数ができてしまって、渡せなくなってるからですね。 そこに await がつかないようにするのがいいと思うので、クラス全体のコードを貼ってください
業務のコードなので全体は貼れないですが、ものすごい単純化したものならこんな感じです: @Observable @MainActor final class MyClass { var continuations: [String: CheckedContinuation<Void, Never>] func demo(id: String) async { await withCheckedContinuation { continuation in await continuations[id] = continuation } } } MyClass@MainActor がつくので、continuations がMain-Actor Isolatedになるから、withCheckeContinuation の中だとどうしても await が付くんですね… (edited)