1

我正在开发一个使用响应式框架的 android 项目。我有一个带有数据成员的对象,可以根据使用输入更改其值,比如“名称”。我需要监听这个变量的变化,所以我要为它创建一个行为主题。但是,有些代码我只需要说一次值,比如说在按钮单击时弹出一个警报,我需要显示一次并且不关心它是否改变。我不知道将这个值作为行为主题并在我需要访问它一次时使用它是否是一件好事,我宁愿有一个或另一个,我需要倾听变化所以我必须有行为主题。同时,必须注册它,获取最后一个值并在获得值后立即取消注册似乎有点过头了。

4

1 回答 1

1

您始终可以使用take(1)类似方法来获取所需的值并立即结束订阅。这将保持提供者的公共 API 或 Observable / Subject 来自更清洁的任何地方,因为不会有额外的 getter。这可以使将来对提供程序的更改更容易,因为您不需要同时更新 Observable 和 getter 实现。

于 2016-04-09T01:04:19.420 回答