你好,我有個場景是這樣的。
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]。搞不懂為什麼?
可以幫忙看下原因嗎?
#