浏览器中 ReadableStream.from 的 Polyfill?

问题描述 投票:0回答:1
目前仅 Firefox 支持浏览器的

ReadableStream.from
。我在 JavaScript 中找到了 Node 实现,但它使用了很多内部原生节点函数。同样,Firefox 控制台中的
ReadableStream.from.toString()
表明它的实现也是本机函数。

有没有我可以临时填充的纯 JavaScript 实现?也许使用

ReadableStream
的构造函数?我想可以根据底层迭代器编写适当的拉取和取消回调。

javascript stream cross-browser polyfills
1个回答
0
投票

GitHub 上有一个 ReadableStream polyfill (https://github.com/MattiasBuelens/web-streams-polyfill),其中包含

ReadableStream.from
:

const stream = ReadableStream.from(["Hello", "World!"]);
const reader = stream.getReader();

function process({ done, value }) {
    if(done) {
        console.log("(end of stream)");
        return;
    }
    console.log(value);
    reader.read().then(process);
};

reader.read().then(process);
<script src="https://unpkg.com/web-streams-polyfill/dist/polyfill.min.js"></script>

© www.soinside.com 2019 - 2024. All rights reserved.