Avatar
Avatar
hironytic
ちなみに sink の中って MainActor 上で実行されるんでしょうか?だとしたら、 reveive(on: DispatchQueue.main) を消しても大丈夫?
まず、 receive(on: DispatchQueue.main) した上でだと sink の中はメインスレッド上で実行されるので(そして MainActorDispatchQueue.main を使うので、事実上 MainActor に守られているのと同じだと思います。で、わかっていることは、その sink の中に書いたコードは MainActor 上と判定されるようです( MainActor に isolate された API を同期的に呼び出せるので)。