Baseline Widely available
Symbol.asyncIterator
ã¯éçãã¼ã¿ããããã£ã§ãã¦ã§ã«ãã¦ã³ã·ã³ãã«ã§ãã Symbol.asyncIterator
ã表ãã¾ããéåæå復å¯è½ãããã³ã«ã¯ããªãã¸ã§ã¯ãã®éåæå復åãè¿ãã¡ã½ããããã®ã·ã³ãã«ã§æ¢ãã¾ãããªãã¸ã§ã¯ããéåæå復å¯è½ã§ããããã«ã¯ã[Symbol.asyncIterator]
ãã¼ãæã¤å¿
è¦ãããã¾ãã
const delayedResponses = {
delays: [500, 1300, 3500],
wait(delay) {
return new Promise((resolve) => {
setTimeout(resolve, delay);
});
},
async *[Symbol.asyncIterator]() {
for (const delay of this.delays) {
await this.wait(delay);
yield `Delayed response for ${delay} milliseconds`;
}
},
};
(async () => {
for await (const response of delayedResponses) {
console.log(response);
}
})();
// Expected output: "Delayed response for 500 milliseconds"
// Expected output: "Delayed response for 1300 milliseconds"
// Expected output: "Delayed response for 3500 milliseconds"
å¤
ã¦ã§ã«ãã¦ã³ã·ã³ãã« Symbol.asyncIterator
ã§ãã
ãªãã¸ã§ã¯ãã« [Symbol.asyncIterator]()
ããããã£ãè¨å®ãããã¨ã§ãç¬èªã®éåæã¤ãã¬ã¼ã¿ã¼ãå®ç¾©ãããã¨ãã§ãã¾ãã
const myAsyncIterable = {
async *[Symbol.asyncIterator]() {
yield "hello";
yield "async";
yield "iteration!";
},
};
(async () => {
for await (const x of myAsyncIterable) {
console.log(x);
}
})();
// æå¾
ãããåºå:
// "hello"
// "async"
// "iteration!"
API ã使ããã¨ããéåæå復å¯è½é ç®ã¯ãã¼ã¿ã®ã¹ããªã¼ã ããªã¹ãã®ãããªãå復å¯è½ãªãã®ã表ãããã«è¨è¨ããããã®ã§ãããã»ã¨ãã©ã®ç¶æ³ã§ã³ã¼ã«ããã¯ãã¤ãã³ããå®å ¨ã«ç½®ãæãããã®ã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
çµã¿è¾¼ã¿ã®éåæå復å¯è½ãªãã¸ã§ã¯ãã³ã¢ JavaScript è¨èªã«éåæå復å¯è½ãªãã¸ã§ã¯ãã¯ããã¾ãããä¸é¨ã® Web APIãä¾ãã° ReadableStream
ã¯æ¢å®ã§ Symbol.asyncIterator
ã¡ã½ãããè¨å®ããã¦ãã¾ãã
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