#1550·core-js

支持可读流的异步迭代

作者: bowencool创建于 2026年7月11日更新于 2026年7月11日

QQ 特性请求

请考虑通过多种填充支持现有本地“可读结构”的实施:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 可读Stream.prototype.values (英语). 可读 Stream.prototype [Symbol.asyncIterator] (英语).


这与#1445(`可读的Stream.from')有关,但又与之分离。 我从这个问题中了解到,核心J目前没有多填流,只是计划扩大相关网络标准。

动机

一些Safari版本支持"等待.of"语言语法,并提供"可读Stream#getReader",但不执行"可读Stream.prototype[Symbol.asyncterator]":

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
a. 符号类型;
//"符号"

类型:可读结构.prototype [Symbol.asyncIterator];
//"未定义"

这就为基于使用法的遗产建设造成了缺口。 Babel正确地保留了等待.',因为语法得到了支持,而babel-plugin-polyfill-corejs3'可以提供ECMAScript Aync-iterator原始语,但目前没有核心-js模块可以为缺失的Web Streams方法注入.

一个现实世界的例子是PDFP.js,其中“PDFPageProxy.getTextContent()”使用“等待......”来使用“可读的 " Stream。 尽管通过“getReader()”工程消耗了同一流的“TypeError”在Safari的运行时间:

可能的范围

核心-js是否考虑只有在本地/多填充的可读-Stream ' 构造器已经存在时,而不是试图将整个流体的API进行多填充,才能增加可读-Stream.prototype'模块?

执行可以将值({防止取消}})'定义为getReader()',包括标准取消和读者锁定发布行为,并用“[symbol.asyncterator]”替代“缺失时的价值”。

如果部分扩大网络API超出了预期范围,那么这是否会被视为第1445号决议中提到的未来流支持的一部分?

内容来源: zloirock/core-js