首页 > 解决方案 > 如何在 Angular 中将地图、过滤器等与 Observable 一起使用

问题描述

我创建了这个 Observable:

const numbers$:Observable<any>=Observable.create((observer)=>{
      for(let i=0;i<5;i++)
      observer.next(i);
    })

现在,当我尝试以这种方式使用地图或过滤器时

numbers$.pipe(map(x=>{x+110})).subscribe(x=>console.log(x)) //undefined
numbers$.map((x:any)=>{x*10}).subscribe(x=>console.log(x)) //undefined

它是未定义的。有什么建议我该如何使用它?

标签: htmlcssangulartypescriptfrontend

解决方案


如果你使用{ }你应该使用 return

numbers$.pipe(map(x=>{
     return x+110
})).subscribe(x=>console.log(x))

您还可以删除{ }return

numbers$.pipe(map(x=>x+110
)).subscribe(x=>console.log(x))

注意:如果你想返回一个对象而不使用 return 你需要使用额外的( )

numbers$.pipe(map(x=>({number:x+110})
)).subscribe(x=>console.log(x))

推荐阅读