我有两个 ReadableStream,我想将它们通过管道传输到一个 WritableStream,其中通过 ReadableStream 的任何数据都会立即直接进入 WritableStream。
我可以做相反的事情,通过使用ReadableStream.prototype.tee()将一个 ReadableStream 一分为二,但我不知道如何将两个合并为一个。
const textarea = document.querySelector("textarea");
// This is a ReadableStream which says "Mom! " every 1 second.
const momReadableStream = new ReadableStream({ start: controller => {
const sayMom = () => controller.enqueue("Mom! ");
setInterval(sayMom, 1000);
}});
// This is a ReadableStream which says "Lois! " every 0.7 seconds.
const loisReadableStream = new ReadableStream({ start: controller => {
const sayLois = () => controller.enqueue("Lois! ");
setInterval(sayLois, 700);
}});
// …Run Code Online (Sandbox Code Playgroud)我有一个字符迭代器,我想每 N 个字符添加一个换行符:
let iter = "abcdefghijklmnopqrstuvwxyz".chars();
let iter_with_newlines = todo!();
let string: String = iter_with_newlines.collect();
assert_eq("abcdefghij\nklmnopqrst\nuvwxyz", string);
Run Code Online (Sandbox Code Playgroud)
所以基本上,我想在迭代器中每 n 个字符散布一个换行符。我怎样才能做到这一点?
如果我能做这样的事情那就太好了,哪里chunks有一种方法可以制作Iterator<T>成Iterator<Iterator<T>:iter.chunks(10).intersperse('\n').flatten()
如果我能做这样的事情那就太酷了:iter.chunks.intersperseEvery(10, '\n'),其中intersperseEvery是一种仅将值散布在每 n 个项目中的方法。