[RxJS] mergeAll - mergeMap
const input$ = fromEvent(textInput, 'keyup');
input$.pipe(
map(event => {
const term = event.target.value;
return ajax.getJSON(`https://api.github.com/users/${term}`) // return a nested observable
}),
debounceTime(200),
).subscribe((obs) => {
obs.subscribe(console.log) // you have to subscribe again
})
One way can solve the problem is mergeAll
: it will help to subscribe nested observable
const input$ = fromEvent(textInput, 'keyup');
input$.pipe(
map(event => {
const term = event.target.value;
return ajax.getJSON(`https://api.github.com/users/${term}`) // return a nested observable
}),
debounceTime(200),
mergeAll(),
).subscribe(console.log)
It is so common map + mergeAll
, so can use mergeMap()
:
const input$ = fromEvent(textInput, 'keyup');
input$.pipe(
debounceTime(200),
mergeMap(event => {
const term = event.target.value;
return ajax.getJSON(`https://api.github.com/users/${term}`) // return a nested observable
}),
).subscribe(console.log)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2020-10-18 [Kotlin Unit test] Spek & Mock
2019-10-18 [Flutter & Dart] Await a Future void function
2017-10-18 [AngularFire] Resolve snapshotChanges doesn't emit value when data is empty
2016-10-18 [CSS] Use CSS Counters to Create Pure CSS Dynamic Lists
2016-10-18 [CSS] Target empty elements using the :empty pseudo-class
2016-10-18 [Angular2 Animation] Basic animation
2016-10-18 [Angular2 Router] Auxiliary Routes bit by bit