ref.access и пришел к выводу, что этот метод не работает для SignallingRef
В качестве пруфа ссылка на скасти — https://scastie.scala-lang.org/1RZMJrANTeSPcXjW7Q2Lqw
Там небольшой пример, смысл которого что есть подписчик на стейт и есть продюсер, который обновляет стейт. Если их запускать параллельно, то в половине случаев ref.access не позволяет обновить стейт...
Как я понял — это происходит из-за того, что внутри SignallingRef.discrete при каждом чтении мутируется стейт, связанный с консьюмерами. А для пользовательского кода это выглядит как будто мутируется пользовательский стейт.
По мне так это баг... что думаете?
С таким лучше сразу в дискорд тайплевела или на гитхаб
Обсуждают сегодня