我想退订一个可观察的带带直到在任何情况下,数字不等于5。如果数字是5想做某事,稍后退订,但它不起作用。
这是我的stackblitz链接:https://stackblitz.com/edit/angular-ivy-lpkzyf?file=src/app/app.component.ts
非常感谢。
声明
我想在数字不等于5的任何情况下取消订阅一个可观察到的拍摄
不太清楚。
如果您希望在发出的值不是5时取消订阅可观察到的值,您需要使用的获取
运算符,而不是的获取
。
试试下面的方法
const { of, Subject } = rxjs;
const { takeUntil, takeWhile } = rxjs.operators;
const unsubscribe$ = new Subject();
of(1, 2, 3, 4, 5, 6).pipe(
takeWhile(value => value === 5),
takeUntil(unsubscribe$)
).subscribe({
next: (num) => {
console.log(num);
console.log('something');
unsubscribe$.next();
},
complete: () => console.log('Stream complete')
});
<script src="https://unpkg.com/rxjs@6.6.7/bundles/rxjs.umd.min.js"></script>
所以我必须在eclipse中为我的类创建一个java项目。分配是创建一个程序,允许用户在程序中输入整数,直到输入某个整数(42)。输入整数(42)后,程序将为1。平均输入的所有数字。2、显示输入的最小值和最大值。3、输入的数字总数。这些必须在不计算(42)的情况下进行计算。这就是我目前所拥有的。我可以从用户那里获得输入,一旦他们输入42,程序就会停止并显示总数,但包括42。我不知道如何为输入添加一
问题内容: 我需要让用户输入一个数字以用作范围的开始,然后输入另一个数字作为范围的结束。起始编号必须为0或更大,结束编号不能大于1000。两个数字都必须被10整除。我找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对它进行编码,以便在用户输入后进行检查以确保满足条件,如果条件没有环回,请再次输入。这是我到目前为止的代码。 问题答案: 轻松做:
我需要要求用户输入一个数字作为范围的开始,然后输入另一个数字作为范围的结束。开始数必须大于等于0,结束数不能大于1000。两个数字都必须能被10整除。我已经找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对其进行编码,以便在用户输入后,它将检查以确保满足条件,如果不满足条件,则返回并再次输入。这是我目前掌握的代码。
我试图改变我的想法,以功能的方式思考,最近面临着这样一种情况,我需要从列表中提取元素,直到满足一个条件,我找不到一个简单自然的方法来实现这一点。显然我还在学习。 假设我有这个清单: 提前感谢您的投入 注意:在发布这篇文章之前,我读了用谓词限制流,但是我不知道如何调整这个答案来解决我的问题。任何帮助将不胜感激。
我使用SockJS和StompJS,当我在浏览器中打开我的应用程序时,有时它会在连接到websocket之前尝试订阅一些主题。我希望主题订阅等待应用程序连接到websocket。 这就是我实现此代码的原因,我将其称为: 因此,我只在连接状态为时才订阅该主题,并且只有在客户端首次成功连接时才会调用该主题。 我想稍后从主题中取消订阅,所以我需要内部订阅返回的对象,我还需要内部订阅的消息。 我所实现的很
问题内容: 我想创建一个类,该类可以运行一种方法,直到满足有关返回值的条件为止。 它应该看起来像这样 我的方法轮询器看起来像这样()//在GuiSim回答之后 但是我很难从这里开始。 在满足条件之前,如何实现对通用方法的重试? 谢谢。 问题答案: 是的,这可以在Java 7中轻松完成,甚至可以使用Java 8进行更清洁的操作。 方法的参数应为,方法的参数应为。 然后,您可以使用方法引用或lambd