Baseline Widely available
getReader()
㯠ReadableStream
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ããªã¼ãã¼ã使ããããã§ã¹ããªã¼ã ãããã¯ãã¾ãã ã¹ããªã¼ã ãããã¯ããã¦ããéã¯ããã®ãªã¼ãã¼ãè§£æ¾ãããã¾ã§ä»ã®ãªã¼ãã¼ãåå¾ã§ãã¾ããã
getReader()
getReader(options)
弿°
options
çç¥å¯
以ä¸ã®ããããã£ãæã¤ãªãã¸ã§ã¯ãã§ãã
mode
çç¥å¯
使ãããªã¼ãã¼ã®ç¨®é¡ãæå®ããããããã£ã§ãã å¤ã¯ä»¥ä¸ã®éãã
"byob"
: èªã¿åãå¯è½ãªãã¤ãã¹ããªã¼ã ï¼å
é¨ã¹ããªã¼ã ãããã¡ã¼ã空ã®ã¨ãã«ãåºç¤ã¨ãªããã¤ãã½ã¼ã¹ãããªã¼ãã¼ã¸ã®ã¼ãã³ãã¼è»¢éã«å¯¾å¿ãã¦ããã¹ããªã¼ã ï¼ãèªã¿åããã¨ãã§ãã ReadableStreamBYOBReader
ã使ãã¾ããundefined
ï¼ã¾ãã¯æå®ããªãå ´åãæ¢å®å¤ï¼ã ããã«ãããã¹ããªã¼ã ããåã
ã®ãã£ã³ã¯ãèªã¿åããã¨ãã§ãã ReadableStreamDefaultReader
ã使ããã¾ããmode
å¤ã«å¿ãã¦ãReadableStreamDefaultReader
ã¾ã㯠ReadableStreamBYOBReader
ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã
RangeError
æå®ããã mode
å¤ã "byob"
ã¾ã㯠undefined
ã§ã¯ããã¾ããã
TypeError
ãªã¼ãã¼ã使ãããã¨ãã¦ããã¹ããªã¼ã ã ReadableStream
ã§ã¯ããã¾ããã ããã¯ã BYOB ãªã¼ãã¼ãè¦æ±ãããã¨ãã«ãã¹ããªã¼ã ã³ã³ããã¼ã©ã¼ã ReadableByteStreamController
ã§ãªãï¼ã¹ããªã¼ã ã type="bytes"
ã§åºç¤ã½ã¼ã¹ã¨ãã¦æ§ç¯ããã¦ããªãï¼å ´åã«ãçºçãã¾ãã
次ã®ç°¡åãªä¾ã§ã¯ãgetReader()
ã使ç¨ãã¦ä½æãã ReadableStreamDefaultReader
ã使ç¨ãã¦ã以åã«ä½æããç¬èªã® ReadableStream
ãèªã¿åãã¾ãï¼å®å
¨ãªã³ã¼ãã«ã¤ãã¦ã¯ãåç´ãªã©ã³ãã ã¹ããªã¼ã ã®ä¾ãåç
§ï¼ã åãã£ã³ã¯ãé çªã«èªã¿åããã¹ããªã¼ã ã®èªã¿åããå®äºããã¾ã§ UI ã«åºåãã¾ãã ã¹ããªã¼ã ã®èªã¿åããå®äºããã¨ãå台颿°ããæ»ããã¹ããªã¼ã å
¨ä½ã UI ã®å¥ã®é¨åã«åºåãã¾ãã
function fetchStream() {
const reader = stream.getReader();
let charsReceived = 0;
// read() ã¯ãå¤ãåãåã£ãã¨ãã«è§£æ±ºãã promise ãè¿ãã¾ã
reader.read().then(function processText({ done, value }) {
// çµæãªãã¸ã§ã¯ãã«ã¯2ã¤ã®ããããã£ãå«ã¾ãã¾ãã
// done - ã¹ããªã¼ã ããã¹ã¦ã®ãã¼ã¿ãæ¢ã«æä¾ãã¦ããå ´å㯠trueã
// value - ä¸é¨ã®ãã¼ã¿ã done ã true ã®å ´åã常㫠undefinedã
if (done) {
console.log("Stream complete");
para.textContent = value;
return;
}
// ãã§ããããã¹ããªã¼ã ã®å¤ã¯ Uint8Array ã§ã
charsReceived += value.length;
const chunk = value;
let listItem = document.createElement("li");
listItem.textContent = `Received ${charsReceived} characters so far. Current chunk = ${chunk}`;
list2.appendChild(listItem);
result += chunk;
// ããã«èªã¿ããã®é¢æ°ãå度å¼ã³åºãã¾ã
return reader.read().then(processText);
});
}
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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