Limited availability
ReadableStreamBYOBRequest
ã¯ã¹ããªã¼ã API ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã¯ãã³ã³ã·ã¥ã¼ãã¼ã«ã¼ãã³ãã¼ã§ç§»è²ãããï¼ã¹ããªã¼ã å
é¨ã®ãã¥ã¼ããã¤ãã¹ããï¼åºç¤ããã®ãã¼ã¿ã®ããã«ãªã¯ã¨ã¹ããã表ãã¾ãã
ReadableStreamBYOBRequest
ãªãã¸ã§ã¯ãã¯ãã³ã³ã·ã¥ã¼ãã¼ããã¼ã¿ã®ãªã¯ã¨ã¹ããè¡ããã¹ããªã¼ã ã®å
é¨ãã¥ã¼ã空ã§ããå ´åã«ããBYOBã¢ã¼ããã§ä½æããã¾ãã ï¼ã¹ããªã¼ã ããã§ã«ãããã¡ã¼ããããã¼ã¿ãæã£ã¦ããå ´åãã¹ããªã¼ã ã¯ã³ã³ã·ã¥ã¼ãã¼ã®ãªã¯ã¨ã¹ããç´æ¥è§£æ±ºãã¾ããï¼ åºç¤ã®ãã¤ãã½ã¼ã¹ã¯ãã³ã³ããã¼ã©ã® ReadableByteStreamController.byobRequest
ããããã£ãéãã¦ã¢ã¯ãã£ã㪠BYOB ãªã¯ã¨ã¹ãã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
ãBYOB ã¢ã¼ããã«å¯¾å¿ãã¦ããåºç¤ã½ã¼ã¹ã¯ã ReadableByteStreamController.byobRequest
ã調ã¹ãåå¨ããå ´åã¯ããã使ç¨ãã¦ãã¼ã¿ãç§»è²ããªããã°ãªãã¾ããã ãã ReadableByteStreamController.byobRequest
ã null
ã®æã«åºç¤ãããã¼ã¿ãå°çããå ´åã ReadableByteStreamController.enqueue()
ã使ç¨ãã¦ãã¥ã¼ã«å
¥ãããã¨ãã§ãã¾ãã ããã¯ãã¹ããªã¼ã ã®å
é¨ãããã¡ã¼ã空ã§ãªãã¨ãã«ãåºç¤ã®ããã·ã¥ã½ã¼ã¹ãæ°ãããã¼ã¿ãåä¿¡ããå ´åã«çºçããå¯è½æ§ãããã¾ãã
åºç¤ã½ã¼ã¹ã¯ã BYOB ãªã¯ã¨ã¹ãã® view
ã«ãã¼ã¿ãæ¸ãè¾¼ãã§ãã respond()
ãå¼ã³åºããã respondWithNewView()
ãå¼ã³åºãã¦æ°ãããã¥ã¼ã弿°ã¨ãã¦æ¸¡ããã¨ã§ããªã¯ã¨ã¹ãã使ç¨ãã¾ãã ãæ°ãããã¥ã¼ãã¯ãå®éã«ã¯å
ã® view
ã¨åããããã¡ã¼ä¸ã§ãåããªãã»ããããå§ã¾ããã¥ã¼ã§ãªããã°ãªããªããã¨ã«æ³¨æãã¦ãã ããã ããã¯ãåºç¤ãå
ã®ãã¥ã¼å
¨ä½ãæºãããã¨ãã§ããªãå ´åã«ãããçããããã¡ã¼ãè¿ãããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
ãªãã ReadableByteStreamController
㯠ReadableStream()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ type="bytes"
ãæå®ããå ´åã®ã¿ããåºç¤ã½ã¼ã¹ã«å¯¾ãã¦ä½æããã¾ãã ãBYOB ã¢ã¼ãã㯠autoAllocateChunkSize
ã ReadableController()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§æå®ããå ´åãã¾ã㯠ReadableStreamBYOBReader
ï¼ãµã¤ã㯠ReadableStream.getReader()
ã«å¼æ° { mode: 'byob' }
ä»ãã§å¼ã³åºããã¨ã§æ§ç¯ãããï¼ã使ç¨ããå ´åã«ã«æå¹ã«ãªãã¾ãã
ãªãã ReadableStreamBYOBRequest
ã¤ã³ã¹ã¿ã³ã¹ã¯ ReadableByteStreamController
ã«ãã£ã¦å¿
è¦ã«å¿ãã¦ä½æããã¾ãã
ReadableStreamBYOBRequest.view
èªåå°ç¨
ç¾å¨ã®ãã¥ã¼ãè¿ãã¾ãã ReadableStreamBYOBRequest.respond()
ãå¼ã³åºãããã¨ãã«ã³ã³ã·ã¥ã¼ãã¼ã«ç§»è²ããããããã¡ã¼ã«é¢ãããã¥ã¼ã§ãã
ReadableStreamBYOBRequest.respond()
é¢é£ä»ããããèªã¿åãå¯è½ãªãã¤ãã¹ããªã¼ã ã«ãæå®ãããã¤ãæ°ãç¾å¨ã® view
ã«æ¸ãè¾¼ã¾ãããã¨ãéç¥ããã³ã³ã·ã¥ã¼ãã¼ããã®å¾
æ©ä¸ã®ãªã¯ã¨ã¹ãã解決ããã¾ãã ãã®ã¡ã½ãããå¼ã³åºãããå¾ãview
ã¯ç§»è²ããã夿´ã§ããªããªããã¨ã«æ³¨æãã¦ãã ããã
ReadableStreamBYOBRequest.respondWithNewView()
弿°ã¨ãã¦æ¸¡ããããèªã¿åãå¯è½ãªãã¤ãã¹ããªã¼ã ã®ã³ã³ã·ã¥ã¼ãã¼ã«è»¢éããããé¢é£ä»ããããèªã¿åãå¯è½ãªã¹ããªã¼ã ãã¥ã¼ã¸éç¥ãã¾ãã ãã®æ°ãããã¥ã¼ã¯ãå
ã® view
ã¨åããããã¡ã¼ã使ç¨ããåããªãã»ããããå§ã¾ããåãé·ãããã以ä¸ã§ãªããã°ãªãã¾ããã ãã®ã¡ã½ãããå¼ã³åºãããå¾ã view
ã¯ç§»è²ããã夿´ã§ããªããªããã¨ã«æ³¨æãã¦ãã ããã
以ä¸ã®ã³ã¼ãã¯ãèªã¿åãå¯è½ãªãã¤ãã¹ããªã¼ã > èªã¿åãå¯è½ãªã½ã±ããããã·ã¥ãã¤ãã¹ããªã¼ã ã®ä½æã®ã©ã¤ãä¾ããå¼ç¨ãããã®ã§ãã
ãã¼ã¿ãç§»è²ããããã·ã¥åºç¤ãã¤ãã½ã¼ã¹ã¯ãæåã« controller.byobRequest
ã null
ã§ãªããã¨ã調ã¹ãå¿
è¦ãããã¾ãã ãã®ãã§ãã¯ãå¿
è¦ãªã®ã¯ãèªåãã£ã³ã¯å²ãå½ã¦ãæå¹ã§ãªããæ¢å®ã®ãªã¼ãã¼ã§ä½¿ç¨ããå ´åã®ã¿ã§ãã
if (controller.byobRequest) {
/* code to transfer data */
}
ReadableStreamBYOBRequest
ã«ãã¼ã¿ãèªã¿è¾¼ãã§ãããç§»è²ããã«ã¯ 2 ã¤ã®æ¹æ³ãããã¾ãã æåã®æ¹æ³ã¯ ReadableStreamBYOBRequest.view
ããããã£ã«ãã¼ã¿ãæ¸ãè¾¼ãã§ãã ReadableStreamBYOBRequest.respond()
ãå¼ã³åºãã¦ç§»è²ãããã¼ã¿éãç¤ºãæ¹æ³ã§ãã å¦çå¾ã byobRequest.view
ãåãé¢ãããªã¯ã¨ã¹ããç ´æ£ãã¹ãã§ãã
ä¸è¨ã®ã³ã¼ãã¯ãã®ç¨éã示ããã®ã§ããã¼ã¿ããã¥ã¼ã«ã³ãã¼ããããã« readInto()
ã¡ã½ããã使ç¨ãã¦ãã¾ãã
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);
ä»ã«ãã ReadableStreamBYOBRequest.respondWithNewView()
ãå¼ã³åºãã¦ãåãåºç¤ãããã³ã°ãã¼ã¿ã«èªåèªèº«ã§ãã¥ã¼ã渡ããã¨ããææ³ãããã¾ãã ããã¯åã«ãå®éã«ç§»è²ãããåºç¤ãããã¡ã¼/ã¡ã¢ãªã¼ãããã³ã°ã®ç¯å²ãæå®ããå¥ã®æ¹æ³ã§ãããã¨ã«æ³¨æãã¦ãã ããã ä¸ã®ã³ã¼ãã¨åçã® respondWithNewView
ã¯æ¬¡ã®ããã«ãªãã¾ãã
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
const newView = new Uint8Array(v.buffer, v.byteOffset, bytesRead);
controller.byobRequest.respondWithNewView(newView);
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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