我想实现一个自动保存功能。我有两个 Observable:
IObservable<Unit> changes
:每次用户编辑文本时发出一个项目IObservable<Unit> saves
: 每次按下保存按钮时发出一个保存事件
现在我想将它们组合成第三个流writeBack。此流有一个订阅者,它将当前文本写入数据库。
如何创建 writeBack 流,以使其满足以下属性?
- 如果 3 秒内没有发生任何更改(如油门) ,则未保存的更改将被写回
- 保存事件立即写回最后未保存的更改
我想确保只写回未保存的更改。如果出现以下情况,我不想保存文本:
- 有一个保存事件,但没有变化
- 连续两次保存事件,但两者之间没有变化
- 在更改与其自动保存之间有一个保存事件