我有两个可观察的可观察的
this.loaded$.pipe(
merge(this.loading$)
).subscribe(console.log); //`false`,`false`; `true`,`false`; etc
然后,我想根据条件将流转换为单个布尔可观测值:
如果val1 val2==1
-返回false
;如果val1 val2!==1
-返回真
;
因此,问题是如何转换
合并的
可观察对象?
更新1:
绑定到使用CombineTest
但遇到问题:
combineLatest(
this.loaded$, this.loading$,
(val1, val2) => val1 + val2 === 1
);
[ts]运算符“”不能应用于类型“{}”和“boolean”。
最新动态
不存在于
组合最新()
combineLatest(
this.loaded$, this.loading$,
(val1, val2) => (val1, val2) => Number(val1) + Number(val2) === 1
).subscribe(); // does not work
[ts]类型“OperatorFunction”上不存在属性“subscribe”
更新3:
我在这里找到了我的问题的答案,为什么'CombineTest'返回运算符函数
您可以使用mapXXX操作符来实现它。例如:
this.loaded$.pipe(
merge(this.loading$),
map((value) => val > 5 ? true : false)
).subscribe(console.log); //`false`,`false`; `true`,`false`; etc
[ts]类型“OperatorFunction”上不存在属性“subscribe”
当您试图将输出从布尔值转换为数字时,如果您想更改需要使用SwitchMap
的类型,就会出现此错误,但据我所知,一次只需要一个可观察的流。
因此,建议使用下面给出的forkjoin
,这也将解决您的问题。
作为其布尔结果,您应该应用逻辑运算符(
(val1, val2) => val1 && val2
正如您已经意识到的,您将收到两个值,即您有固定数量的请求,并且两个请求都需要完成才能获得结果,那么您应该使用forkJoin
async getResult()
{
const example = await forkJoin( request1, request2).toPromise();
const output = example [0] && example[1];
}
没有得到多少您想要实现的目标,但是如果您想要应用,那么您应该将布尔值转换为如下所示的数字
(val1, val2) => Number(val1) + Number(val2);
我试着把我的头绕在可观察的物体上。我喜欢Observable解决开发和可读性问题的方式。正如我读到的,好处是巨大的。 HTTP和集合上的可观察对象似乎是直截了当的。我怎样才能把这样的东西转换成可观察的模式呢。 这来自我的服务组件,用于提供身份验证。我希望它能像Angular2中的其他HTTP服务一样工作——支持数据、错误和完成处理程序。 这里的任何帮助都将不胜感激。我唯一的替代解决方案是创建s。但
问题内容: 我正在尝试将项目设置为表视图,但是setitems方法需要一个可观察的列表,而我的模型中却有一个可观察的集合.FXCollections实用程序类没有给定可观察的集合来创建可观察的列表的方法。类强制转换异常(按预期)。 目前,我正在使用这种代码 而且我有一些问题: 在表中进行编辑是否会按预期更新基础集? 这是这样做的“正确”方法吗 简而言之,我需要样式指南或最佳做法,以便在可观察集和可
我有一个带有http请求的服务,它返回我的标题的可观察到的内容 servise.ts 在我的组件中,我有一个函数从service get Request设置。看起来是这样的: 问题是,有时我接收到带有空标签的标题,不需要显示它们,所以我需要对其进行过滤,并对此标题发送.delete()请求。我尝试了类似的方法(想法是在之前添加,然后在另一个subscribe内部调用。)差不多吧 但不确定这是不是个
我使用库在代码中使用了大量转换为的RxJava。所以我想在RxJava Observable中添加一个扩展函数,以便轻松地将它们转换为。 这些是我的扩展函数: null 附注。 我刚认识Kotlin所以我想问这些问题。如有任何帮助,我们将不胜感激。非常感谢。
我正在尝试使用 考虑以下代码 每当我试图打印出的结果时,它总是返回 即使我返回一个json对象。 如何打印的结果?
我正在创建一个应用程序,希望用户打开他们的活动聊天。它由Firebase作为后端提供动力。但是,在从第一个可观察订阅中检索数据(我需要将其用作第二个可观察订阅中的参数)之后,第二个订阅不会返回任何数据:它是空的。 在第一个订阅中,我检索一个唯一的ChatID。对于第二次订阅,我希望使用此ChatID接收Firebase集合中的所有邮件。 我已经发现它与观测对象的异步风格有关,但是我不知道如何嵌套观