Да, это действительно хорошая идея. Я использовал его в своем собственном коде для обновления элементов пользовательского интерфейса при изменении потоковых данных. Единственное, что вам нужно быть осторожным, это то, что наблюдатели вызываются синхронно в потоке agent
или в основном потоке, если atom
, ref
или var
. Поэтому, чтобы избежать блокировки потока, не выполняйте слишком много обработки в наблюдателях. Если вам нужно сделать это, создайте future
.