4 ms·
You can use server-sent-events or use do some custom streaming format inside the response body. The latter might not work well, due to the fact that arbitrary s
by Matthias247 8y ago
You can use server-sent-events or use do some custom streaming format inside the response body. The latter might not work well, due to the fact that arbitrary streaming APIs might not yet be exposed by all browsers (ReadableStream on fetch API: https://caniuse.com/#feat=streams https://caniuse.com/#feat=streams).
- cryptonector 8y agoI thought all XHRs support streaming, and they should run over HTTP/{2,3}. Is that not right?
- Matthias247 8y agoAfaik XHR allows you to access received data in a streaming fashion, but the XHR type will always buffer the full received payload internally. So if you try to stream a large amount of data over it you will eventually run out of memory. If you want to consume a potentially endless stream with custom encoding you need the fetch API with streaming support for that (https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams#Consuming_a_fetch_as_a_stream https://developer.mozilla.org/en-US/docs/Web/API/Streams_API...), as far as I understood. Or websockets. That is one reason that e.g. gRPC streaming support doesn't work trivially in browsers.