gpt4 book ai didi

javascript - 流与可观察对象

转载 作者:行者123 更新时间:2023-12-05 04:08:32 25 4
gpt4 key购买 nike

在这里问这个问题可能是个愚蠢的问题。

我只是想知道 JavaScript(或任何其他语言)中的 Streams 和 Observables 之间的区别。我知道它们都是推送数据模型,即响应接收数据而不是拉取数据。如果有人可以提供这两者之间的更多差异,那就太好了。

最佳答案

流通常是基于拉取的。在下面的示例中,foreach()(管道中的最后一个方法)启动管道执行并从源列表中提取数据。

    List<Integer> lst = Arrays.asList(1,2,3);
lst.stream()
.filter(k -> k > 1)
.forEach(k->
System.out.println(k)
);

另一方面,Observable(和Publisher)是基于推送的。他们自己开始执行并将信息推送给他们的订阅者。所以订阅者必须实现一些接口(interface),其中包含接受下一个值的适当方法。通常这个方法被命名为“update”、“onNext”、“post”、“send”等。

当发布者(生产者)比订阅者(消费者)工作得更快时,基于推送的方法可能会带来麻烦。在这种情况下,响应式(Reactive)流 可以提供帮助,消费者可以控制生产者的速度,从而将传输策略更改为基于拉取。

关于javascript - 流与可观察对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47356359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com