关于rxjs使用的问题
rxjs虽然对着文档学着使用了一下,但感觉还是很难融会贯通。
我设计了这样一个简单的场景,一个异步的函数get,希望他同步得按顺序依次打印一个数组,并记录这个函数调用的次数。
不使用rxjs我是这样实现的:
const arr = [1, 2, 3, 4, 5]
let count = 0;
f(0)
function get(callback) {
setTimeout(callback, 1000)
}
function f(idx) {
if (arr.length === idx) {
console.log(`共执行${count}次`)
return
}
get(() => {
console.log(arr[idx])
++count
f(++idx)
})
}
请问各位,在rxjs下,怎样优雅得实现这个功能?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
思路如下:
concatMap
对 Observable1 进行一个转换。代码如下:
在线运行: https://stackblitz.com/edit/r...