登录

rxjs 执行问题求教

你好,我有个场景是这样的。

const a = [1, 2, 3, 4, 5, 6, 7];    from(a.splice(0, 3))      .pipe(        concatMap(val => {          return of(val).pipe(delay(Math.random() * 1000));        }),        repeatWhen(completed => completed.pipe(delay(2000))),        tap(val => {          console.log(a);        }),        takeWhile(val => a.length > 0)      )      .subscribe(() => {});

我的预期是a第一次打印出[4,5,6]。然后a第二次打印出[7]。

但是代码运行起来一直打印出[4,5,6,7]。搞不明白为什么?

可以帮忙看下原因吗?

# JavaScript
P粉310297406 P粉310297406 715 天前 952 次浏览

全部回复(0) 我要回复

暂无回复
  • 取消 回复 发送