一 switchMap
1.能够直接返回一个observable,而map是将一个非observable变成一个observable返回
observable.pipe(switchMap(x=>result))//result为observable
observable.pipe(map(x=>result))//result为非observable
2.如果收到多个observable,将返回最新的observable
//app.html
this.router.navigate([`/heroDetail/${this.id++}`])
//detail.ts
let info=this.activatedRoute
info.paramMap.pipe(
switchMap(x=>this.t.getData())
).subscribe(x=>console.log(x))
//val的初始值为10,点击三下,直接返回13,而不是11,12,13
//t.service.ts
getData(){
return new Observable(observer=>{
setTimeout(()=>{
observer.next(this.val++)
},2000)
})
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。