(Angular)有很多订阅者

时间:2018-02-28 02:55:47

标签: javascript angular performance typescript rxjs

如果订阅者太多,会发生什么?我有一个指令来监视每个路线事件,我将我的指令放在 NgFor 中。

我刚接触RxJS,我非常关心性能。

1 个答案:

答案 0 :(得分:1)

性能说明:

  1. 事件循环: 一旦事件触发,就会调用所有订阅方法或函数,但不会直接调用。它们由Event Loop处理,它可以同时处理大量事件。

  2. I / O绑定与CPU绑定功能: 但是,如果被调用的函数不受I / O限制,即简单的输入输出内容,如日志记录或调用Google Analytics,那么性能将下降。 想象一下,在每个事件发生时运行Path Finding算法(A *,Dijsktra)!

  3. 取消订阅为最佳做法: 要记住的另一件事是取消订阅该指令的NgOnDestroy()中的事件,它将使可能不断增长的事件数量不再失控!