Avatar
Avatar
lovee
あ、今ちょっとリファクタリングしてて、たまにデータレース起きてるっぽいから @MainActor 入れたのですが、withCheckedContinuation の場合そのクロージャの中でそのまま自身のプロパティーの書き込みができないっぽいですが、これってどうすればいいですかね? こんな感じのコードです: await withCheckedContinuation { continuation in // Cannot pass function of type '(CheckedContinuation<Void, Never>) async -> ()' to parameter expecting synchronous function type await self.continuations[id] = continuation }
エラーになってるのは withCheckedContinuationbody 引数は asyncではない関数を受け取るのに、 クロージャの中で await しているから async な関数ができてしまって、渡せなくなってるからですね。 そこに await がつかないようにするのがいいと思うので、クラス全体のコードを貼ってください