如何有效检测阵列中随时间变化的变化

时间:2019-04-10 10:50:27

标签: javascript node.js rxjs queue reactive-programming

我打算连续轮询几个端点,在这些端点上我收到一组对象作为JSON。这些对象势必会随着时间而改变,并且每个对象都有唯一的ID。我想高效地观察数组中的任何新对象(一个或多个对象可能已被一个新对象替换)。我想避免循环遍历整个数组,并将id与我保存到某个数据库的先前数组的id进行比较,这是因为新对象可能在数组的末尾,而我将浪费时间进行所有这些比较。

我将如何处理这种情况?例如。使用某种队列。在这种情况下使用ReactiveX(RXJS)是否理想?

我正在Node.js中进行实施。

1 个答案:

答案 0 :(得分:0)

RXJS是一个很好的解决方案,如果您不想为实现而烦恼,那么它是理想的选择。

或者,您可以使用Observer Pattern(提示,使用EventEmitter侦听更改),如果您希望对代码和实现拥有所有权,请选择一条路径。

最后的选择是使用npm模块(例如this)。这似乎遵循了观察者设计模式。但是您可以在自己的实现中使用它以及灵感。

但是最快的可能是使用RxJ。