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下,怎样优雅得实现这个功能?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…