如何使用RxJS 6调节和同步回复命令?

时间:2019-03-03 15:50:11

标签: rxjs rxjs6

上下文:我可以向系统发送命令,该系统可以使用okerror消息进行答复(消息是通过UDP发送的)。虽然未发送响应,但它不能接受任何其他命令。我们必须等待答案发送下一条命令,但是我们希望所有触发的命令都发送到该系统。就像无损背压一样,可将以下命令同步到答复。

下面是一种大理石图来说明此过程

enter image description here

commands$是可观察到的,可以将命令发送到系统。 responses$是可观察的,我们可以在其中订阅来自系统的响应。

如图所示,第一个命令不需要发送响应,可以使用merge()来实现。

throttle()运算符已接近我的需要,但是在未收到任何答复的情况下发送的命令丢失了。如果在收到任何响应的同时提供了两个命令,则第一个命令必须在此回复之后发送,而第二个命令必须在回复之后发送,如c4c5所示。响应c4之后立即发送命令r3,响应c5之后立即发送r4

有点像question,但是在这种情况下,由于前面提到的UDP使用,响应没有与来自HTTP客户端的请求进行链接。 >

有什么想法要实现吗?

注意:由于UDP的性质,如果从未收到回复,则将永远不会发送以下任何命令。这可以通过不同的策略来处理,但不一定在此问题的范围内。

0 个答案:

没有答案