Baseline Widely available
AsyncIterator
ãªãã¸ã§ã¯ã㯠éåæã¤ãã¬ã¼ã¿ã¼ãããã³ã« ã«æºæ ãããªãã¸ã§ã¯ãã§ã next()
ã¡ã½ãããæä¾ãããã¨ã§ã¤ãã¬ã¼ã¿ã¼ã®çµæãªãã¸ã§ã¯ãã«å±¥è¡ããããããã¹ãè¿ãã¾ãã AsyncIterator.prototype
ãªãã¸ã§ã¯ãã¯ããã¹ã¦ã®çµã¿è¾¼ã¿éåæã¤ãã¬ã¼ã¿ã¼ãç¶æ¿ããé表示ã®ã°ãã¼ãã«ãªãã¸ã§ã¯ãã§ããããã¯ãéåæã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãèªèº«ãè¿ã @@asyncIterator
ã¡ã½ãããæä¾ããéåæã¤ãã¬ã¼ã¿ã¼ãéåæå復å¯è½ã«ããã¾ãã
ãªããAsyncIterator
ã¯ã°ãã¼ãã«ãªãã¸ã§ã¯ãã§ã¯ããã¾ããããå°æ¥çã«ã¯ async iterator helpers proposal ã§ã°ãã¼ãã«ãªãã¸ã§ã¯ãã«ãªãäºå®ã§ãããã¹ã¦ã®çµã¿è¾¼ã¿éåæã¤ãã¬ã¼ã¿ã¼ã§å
±æããã AsyncIterator.prototype
ãªãã¸ã§ã¯ãã¯ä»¥ä¸ã®ã³ã¼ãã§åå¾ã§ãã¾ãã
const AsyncIteratorPrototype = Object.getPrototypeOf(
Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),
);
解説
ç¾å¨ã JavaScript ã®çµã¿è¾¼ã¿éåæã¤ãã¬ã¼ã¿ã¼ã¯ãéåæã¸ã§ãã¬ã¼ã¿ã¼é¢æ°ãè¿ã AsyncGenerator
ãªãã¸ã§ã¯ãã ãã§ããã¦ã§ã API ã«ã¯ä»ã«ã ReadableStream
ã®ãããªçµã¿è¾¼ã¿ã®éåæã¤ãã¬ã¼ã¿ã¼ãããã¾ãã
ãããã®éåæã¤ãã¬ã¼ã¿ã¼ã¯ããããåå¥ã®ãããã¿ã¤ããªãã¸ã§ã¯ããæã£ã¦ãããç¹å®ã®éåæã¤ãã¬ã¼ã¿ã¼ã使ç¨ãã next()
ã¡ã½ãããå®ç¾©ãã¦ãã¾ãããããã®ãããã¿ã¤ããªãã¸ã§ã¯ãã¯ãã¹ã¦ AsyncIterator.prototype
ãç¶æ¿ãã¦ãã¾ããããã¯éåæã¤ãã¬ã¼ã¿ãªãã¸ã§ã¯ãèªèº«ãè¿ã @@asyncIterator
ã¡ã½ãããæä¾ããéåæã¤ãã¬ã¼ã¿ã¼ãéåæå復å¯è½ã«ããã¾ãã
ã¡ã¢: AsyncIterator.prototype
㯠@@iterator
ãå®è£
ãã¦ããªãã®ã§ãéåæã¤ãã¬ã¼ã¿ã¼ã¯æ¢å®ã§ã¯åæå復å¯è½ã§ã¯ããã¾ããã
AsyncIterator.prototype[Symbol.asyncIterator]()
éåæã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãèªèº«ãè¿ãã¾ããããã«ãããéåæã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããéåæå復å¯è½ãªãã¸ã§ã¯ãã«ãªãã¾ãã
ãã¹ã¦ã®çµã¿è¾¼ã¿éåæã¤ãã¬ã¼ã¿ã¼ãéåæå復å¦çå¯è½ãªãã¸ã§ã¯ããªã®ã§ãfor await...of
ã«ã¼ãã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
const asyncIterator = (async function* () {
yield 1;
yield 2;
yield 3;
})();
(async () => {
for await (const value of asyncIterator) {
console.log(value);
}
})();
// ãã°: 1, 2, 3
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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