首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mostjs的动态重路由和循环依赖

使用Mostjs的动态重路由和循环依赖
EN

Stack Overflow用户
提问于 2017-07-11 13:32:28
回答 2查看 98关注 0票数 0

很明显,使用addListenerremoveListener这两种方法,xstream能够动态地重新路由流(更改它们的源和接收器)。我看不出与大多数人相比。大多数情况下,只允许您安排一次流的路由吗?如果是这样的话,这种静态特性是否允许大多数is为这种优越的性能进行优化?

此外,xstream使用了一个imitate方法,它允许它具有循环依赖关系。是否有任何方法来实现循环依赖与大多数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-26 20:49:13

most.js中有许多函数同时对SourceSink进行操作,例如,转换流中所有事件的map()通过使用事件充当Sink,在应用函数之后生成新的事件值时充当Sourceobserve()是一个特定类型的Sink的示例,它使用事件并将它们传递给您提供的函数。

Most.js Streams在使用“终端”组合子之一observedrainreduce之前不活动。当您调用其中一个时,Stream将在Source-Sink链中的一个信号发送给该链的最开始的Source。然后,生产者Source将开始生成事件。

然后,通过简单的方法调用从Source通过Source-Sink链同步传播事件。

因此,您可以向map提供自己的“侦听器”函数,该函数将转换事件。

有许多因素影响了Mst.js的性能。

简单的调用堆栈事件传播体系结构,加上将try/catch从combinator实现中提升出来,是最早和最大的性能改进之一。 Most.js基于代数等价物自动执行其他几个优化。一个相对著名的例子是通过在mapg上进行函数组合,将多个map操作(如map(g, map(f, stream)) )组合成单个map。 该操作还结合了多个filter操作、多个merge操作、多个takeskip等操作。这些优化减少了将事件从生产者传播到使用者所需的方法调用的数量。

见布赖恩·卡瓦利耶的采访

Most.js本身不处理循环依赖关系,但完全可以使用most-proxy摩托车这样做是为了在它的run包中创建它的循环。

票数 3
EN

Stack Overflow用户

发布于 2017-08-08 22:58:50

你看过关于xstream.js imitate in most.jshttps://github.com/cujojs/most/issues/308的问题吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45036051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档