问题标签 [rxjs-dom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
349 浏览

youtube-api - Part of the DOM continuously getting refreshed in Angular 5. While trying to fetch videos from YouTube API

Calling Youtube API in

trying here to make the video url sanitized

Using DOM sanitizer in the function getEmbedUrl(id)

Everything is working fine videos are getting fetched but part of the DOM continuously getting refreshed. I tried to do unsubscribe at all the component lifecycle hooks. But If I unsubscribe I won't fetch any results only. Is there any other work-around or am I missing some thing here!

0 投票
5 回答
7323 浏览

angular - 解决超过 6 个 forkJoin 参数?

我需要/希望在 forkJoin 中使用六个以上的参数。目前,根据对另一个相关问题的回答,似乎不可能向 forkJoin 发送超过 6 个参数。

然而,根据官方文档,它说“forkJoin 是一个运算符,它接受任意数量的 Observable,可以作为数组或直接作为参数传递。”

forkJoin - 官方文档

好吧,我正在这样做,我得到一个错误 TS2322:Type 'foo' is notassignable to type 'bar[]'。

在我的研究中,我还发现如果你有返回不同类型的承诺,最好不要将参数作为数组发送,因为这会将它们类型转换为所有相同的类型。-来源

这是我的代码。我正在使用最新版本的 Typescript 和 Angular 4。

如果我删除任何单个参数以便将六个参数传递给 forkJoin,则它可以正常工作。所以我的问题是,在我想在一次调用中加载对象可观察对象和后续数组可观察对象的情况下,是否有另一种方法可以做到这一点?这是 forkJoin 的一个错误,因为官方文档说它应该能够接受任意数量的 Observables?

我尝试创建一个 Observable 类型的数组并在 forkJoin 中使用 array.forEach() 但它抱怨返回类型为 void。无论如何,这似乎是一种笨拙的方式。

0 投票
1 回答
1048 浏览

websocket - RxJs webSocket 无法连接到使用 socket.io 实现的 websocket 服务器

我有一个按照这个例子构建的简单 websocket 服务器

这段代码运行流畅。我可以在我的机器上启动 websocket 服务器,如果我使用socket.io-client库,我可以连接。

现在我想使用 RxJs 提供的webSocket和工具从客户端连接到这样的服务器,WebSocketSubject但我在尝试连接时遇到了一些基本问题。

如果我做

没有任何反应,没有建立连接。

如果我'ws://localhost:8081'用作连接字符串,那么我会收到这样的错误

我确信我犯了一个非常基本的错误,但我目前不知道在哪里。

0 投票
2 回答
790 浏览

firebase-realtime-database - 使用 Rxjs 通过彼此之间的最小延迟来分离点击事件流

当用户在firebase数据库中更新相同对象和相同属性的两个按钮上单击非常快时,我遇到了一个问题。只有一个请求保存和其余覆盖的问题。它发生在用户同时点击两个按钮的情况下。

我的问题是是否有办法以最小的延迟执行点击流。我希望每次执行之间至少有 2 秒。谢谢您的帮助。

我想记录所有点击,但以最小的延迟执行功能。

问题是当我点击多次超过第二次时。来自不同缓冲区的流将同时执行。我怎么能解决它:(例如:

新缓冲区:1,2,3,4

新缓冲区:5,6,7,8,9,10

1 : 2018 年 5 月 12 日星期六 17:22:29 GMT-0600 (MDT)

新缓冲区:11,12,13

5 : 2018 年 5 月 12 日星期六 17:22:30 GMT-0600 (MDT)

2 : 2018 年 5 月 12 日星期六 17:22:31 GMT-0600 (MDT)

11 : 2018 年 5 月 12 日星期六 17:22:31 GMT-0600 (MDT)

2和11同时发生。我怎么能解决它:(