繁体   English   中英

在Rxjs中使用管道时,Observable不订阅 - Angular

[英]Observable not subscribing when using pipe in Rxjs - Angular

以下代码订阅:

this.store
      .select(petSelectors.selectPetData)
      .pipe(find(x => x.petName === petName)).subscribe(x => console.log(x));

但如果我这样做,它订阅:

this.store.select(petSelectors.selectPetData).subscribe(x => console.log(x));

更新:这也有效

const x = this.store .select(petSelectors.selectPetData).pipe(find(x => x));

但是当我添加逻辑时,却没有

我正在关注RxJS官方文档: https ://rxjs-dev.firebaseapp.com/api/operators/find

我甚至尝试在pipe(), try with take(1), map(), etc内部pipe(), try with take(1), map(), etc ,当我执行.subcribe() ,没有任何内容被打印出来。 我也尝试过使用async管道。

宾语:

{
  "petName": "devpato"
}

我正在传递的宠物名称是将对象与'devpato'进行比较

找到了我的问题! @ConnorsFan基本上是x => x.petName === petName不起作用,因为x是整个数组 ,而不是数组内的单个对象。 所以我需要通过x进行整理

.pipe(map(x => x.find(u => u.petName ===petName));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM