こんにちは、こんなシーンがあります。
const a = [1, 2, 3, 4, 5, 6, 7]; from(a.splice(0, 3)) 。パイプ( concatMap(val => { Return of(val).pipe(delay(Math.random() * 1000)); })、 繰り返します(完了=> complete.pipe(delay(2000))))、 Tap(val => { コンソール.ログ(a); })、 takewhile(val => a.length > 0) ) .subscribe(() => {});
私の期待は、 a が初めて [4,5,6] を出力することです。次に、[7] がもう一度出力されます。
しかし、コードは実行中に [4,5,6,7] を出力し続けます。理由がわかりませんか?
理由を調べるのを手伝ってもらえますか?