Baseline Widely available
pipeThrough()
㯠ReadableStream
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ã夿ã¹ããªã¼ã ã¾ãã¯ãã®ä»ã®æ¸ãè¾¼ã¿å¯è½/èªã¿åãå¯è½ãªãã¢ãä»ãã¦ç¾å¨ã®ã¹ããªã¼ã ãæ¥ç¶ããé£éå¯è½ãªæ¹æ³ãæä¾ãã¾ãã
ã¹ããªã¼ã ãæ¥ç¶ããã¨ãéå¸¸ãæ¥ç¶ãã¦ããéã¯ã¹ããªã¼ã ãããã¯ãããä»ã®ãªã¼ãã¼ãããã¯ã§ããªããªãã¾ãã
æ§æpipeThrough(transformStream)
pipeThrough(transformStream, options)
弿°
transformStream
èªã¿åãå¯è½ãªã¹ããªã¼ã ã¨æ¸ãè¾¼ã¿å¯è½ãªã¹ããªã¼ã ã§æ§æããããã¼ã¿ãããå½¢å¼ããå¥ã®å½¢å¼ã«å¤æãã TransformStream
ï¼ã¾ãã¯æ§é {writable, readable}
ã®ãªãã¸ã§ã¯ãï¼ã æ¸ãè¾¼ã¿å¯è½ãªã¹ããªã¼ã ï¼writable
streamï¼ã«æ¸ãè¾¼ã¾ãããã¼ã¿ã¯ãèªã¿åãå¯è½ãªã¹ããªã¼ã ï¼readable
streamï¼ã«ãã£ã¦ä½ããã®å¤æãããç¶æ
ã§èªã¿åããã¨ãã§ãã¾ãã ä¾ãã°ãTextDecoder
ã§ã¯ãã¤ããæ¸ãè¾¼ã¾ããããããæååãèªã¿åãããåç»ãã³ã¼ãã¼ã§ã¯ã¨ã³ã³ã¼ãããããã¤ããæ¸ãè¾¼ã¾ããéå§ç¸®åç»ãã¬ã¼ã ãèªã¿åããã¾ãã
options
çç¥å¯
æ¸ãè¾¼ã¿å¯è½ãª (writable
) ã¹ããªã¼ã ã«æ¥ç¶ããã¨ãã«ä½¿ç¨ãããªãã·ã§ã³ã§ããå©ç¨å¯è½ãªãªãã·ã§ã³ã¯æ¬¡ã®éãã§ãã
preventClose
ããã true
ã«è¨å®ããã¨å
¥åå
ã® ReadableStream
ãéãã¦ããåºåå
ã® WritableStream
ãéãããããã¨ã¯ãªããªãã¾ãã ãã®ã¡ã½ããã¯ãåºåå
ãéããéã«ã¨ã©ã¼ãçºçããªãéãããã®å¦çãå®å
¨ã«çµäºããã¨ãå±¥è¡ããããããã¹ãè¿ãã¾ãã
preventAbort
ããã true
ã«è¨å®ããã¨ãå
¥åå
ã® ReadableStream
ã§ã¨ã©ã¼ãçºçãã¦ããåºåå
ã® WritableStream
ã䏿ããããã¨ãã§ããªããªãã¾ãã ãã®ã¡ã½ããã¯ãå
¥åå
ã®ã¨ã©ã¼ãã¾ãã¯åºåå
ã忢ãããéã«çºçããã¨ã©ã¼ãå«ããããã¹ãè¿ãã¾ãã
preventCancel
ããã true
ã«è¨å®ããã¨ãåºåå
ã® WritableStream
ã§ã¨ã©ã¼ãçºçãã¦ããå
¥åå
ã® ReadableStream
ããã£ã³ã»ã«ãããã¨ãã§ããªããªãã¾ãã ãã®å ´åããã®ã¡ã½ããã¯ãå
¥åå
ã®ã¨ã©ã¼ãã¾ãã¯å
¥åå
ãåãæ¶ãéã«çºçããã¨ã©ã¼ãå«ãæå¦ããããããã¹ ãè¿ãã¾ãã ããã«ãåºåå
ã®æ¸ãè¾¼ã¿å¯è½ãªã¹ããªã¼ã ãéãããããéå§ãããå ´åãå
¥åå
ã®èªã¿åãå¯è½ãªã¹ããªã¼ã ã¯åãæ¶ããããã¨ã¯ããã¾ããã ãã®å ´åããã®ã¡ã½ããã¯ãéããããã¹ããªã¼ã ã¸ã®æ¥ç¶ã«å¤±æãããã¨ã示ãã¨ã©ã¼ãã¾ãã¯å
¥åå
ãåãæ¶ãéã«çºçããä»»æã®ã¨ã©ã¼ã¨å
±ã«ãæå¦ããããããã¹ãè¿ãã¾ãã
signal
AbortSignal
ãªãã¸ã§ã¯ãã«è¨å®ããã¦ããå ´åã é²è¡ä¸ã®ãã¤ãæä½ã¯ã対å¿ãã AbortController
ãä»ãã¦ä¸æãããã¨ãå¯è½ã§ãã
transformStream
ã® readable
å´ã§ãã
TypeError
transformStream
ã® writable
ã readable
ããããã£ãæªå®ç¾©ã§ãã
次ã®ä¾ï¼ã©ã¤ãå®è¡ä¸ã®å®å
¨ãªã³ã¼ãã«ã¤ãã¦ã¯ PNG ã®ãã£ã³ã¯ãã¢ã³ããã¯ãã½ã¼ã¹ã³ã¼ãã«ã¤ãã¦ã¯ png-transform-stream ãåç
§ï¼ã§ã¯ãç»åãåå¾ããããã®æ¬ä½ã ReadableStream
ã¨ãã¦åå¾ããã¾ãã
次ã«ãèªã¿åãå¯è½ãªã¹ããªã¼ã ã®ã³ã³ãã³ãããã°ã«è¨é²ããpipeThrough()
ã使ç¨ãã¦ãã°ã¬ã¼ã¹ã±ã¼ã«ãã¼ã¸ã§ã³ã®ã¹ããªã¼ã ã使ããæ°ãã颿°ã«éä¿¡ããæ°ããã¹ããªã¼ã ã®ã³ã³ãã³ãããã°ã«è¨é²ãã¾ãã
// å
ã®ç»åãåå¾
fetch("png-logo.png")
// ãã® body ã ReadableStream ã¨ãã¦åå¾
.then((response) => response.body)
.then((rs) => logReadableStream("Fetch Response Stream", rs))
// å
ã®ç»åããã°ã¬ã¼ã¹ã±ã¼ã« PNG ã¹ããªã¼ã ã使
.then((body) => body.pipeThrough(new PNGTransformStream()))
.then((rs) => logReadableStream("PNG Chunk Stream", rs));
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4