Streams provide a JS primitive for accessing incremental, streamed data.

For example, the fetch Response object can expose a body ReadableStream
which allows reading a potentially infinite http response.  Currently the
only way to do something like this is with XMLHttpRequest with the append
extension.  Unfortunately that still requires keeping the entire resource
in memory as data is appended.  Streams do not have this limitation.

Chrome has shipped the fetch Response.body stream, but not the rest of the
API.

I spent time evaluating this spec over the last few months.  I put the
findings from that eval in a blog post here:


https://blog.wanderview.com/blog/2015/06/19/intent-to-implement-streams-in-firefox/

There were three main concerns for which I believe we now have consensus on
how to move forward:

1) Possible performance issues with the async read() function.
2) Operating on public functions can preclude optimizations like
off-main-thread copying of streams.
3) Streams need to support transfer between threads.

These are discussed more fully in the blog post linked above.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
Standard: https://streams.spec.whatwg.org/
Platforms: All
ETA: Initial implementation of Response.body stream in by end of 2015.
Full spec in first half 2016.
Pref: TBD (depends on if DOM or jsapi self-hosted)
devtools: TBD as its unclear what additional features devtools would need
for Streams.

Please let me know if there are any questions or concerns.

Thank you!

Ben
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to