← Cloudflare Workers / workers / runtime-apis / streams
TransformStream
Kontext
Transform stream se skládá ze dvojice streamů: zapisovatelného streamu, označovaného jako jeho zapisovatelná strana, a čitelného streamu, označovaného jako jeho čitelná strana. Zápisy na zapisovatelné straně zpřístupní nová data ke čtení na straně čitelné.
Workers v současnosti implementuje pouze identity transform stream, tedy typ transform streamu, který všechny bloky zapsané na zapisovatelné straně beze změny předává na stranu čitelnou.
Konstruktor
let { readable, writable } = new TransformStream();-
TransformStream()TransformStream- Vrátí nový identitní transformační stream.
Vlastnosti
readableReadableStream- Instance
ReadableStream.
- Instance
writableWritableStream- Instance
WritableStream.
- Instance
IdentityTransformStream
Současná implementace TransformStream na platformě Workers aktuálně neodpovídá Standard Streams ↗ a brzy provedeme změny v implementaci, aby odpovídala specifikaci. V rámci přípravy na tuto změnu jsme zavedli IdentityTransformStream třída, která implementuje chování shodné se současnou TransformStream třída. Tento typ streamu předává všechny fragmenty bajtových dat (ve formě TypedArrays) zapsané do zapisovatelné strany na její čitelnou stranu, beze změny.
IdentityTransformStream čitelná strana podporuje čtení s vlastním bufferem (BYOB) ↗.
Konstruktor
let { readable, writable } = new IdentityTransformStream();-
IdentityTransformStream()IdentityTransformStream- Vrátí nový identitní transformační stream.
Vlastnosti
readableReadableStream- Instance
ReadableStream.
- Instance
writableWritableStream- Instance
WritableStream.
- Instance
FixedLengthStream
FixedLengthStream je specializací IdentityTransformStream který omezuje celkový počet bajtů, které proud propustí. To je užitečné hlavně proto, že při použití FixedLengthStream pro vytvoření buď Response nebo Request, pevná délka streamu se použije jako Content-Length hlavičky namísto použití chunked encoding, pokud používáte jiný typ streamu. Pokud se streamem zapíšete příliš mnoho nebo příliš málo bajtů, dojde k chybě.
Konstruktor
let { readable, writable } = new FixedLengthStream(1000);-
FixedLengthStream(length)FixedLengthStream- Vrátí nový identitní transformační stream.
lengthmožnánumbernebobigints maximální hodnotou2^53 - 1.
Vlastnosti
readableReadableStream- Instance
ReadableStream.
- Instance
writableWritableStream- Instance
WritableStream.
- Instance