Skip to content

Commit 75d51a2

Browse files
committed
Async iterator example
1 parent e3f6cfd commit 75d51a2

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

JavaScript/h-async.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
'use strict';
2+
3+
const range = {
4+
start: 1,
5+
end: 10,
6+
[Symbol.asyncIterator]() {
7+
let value = this.start;
8+
return {
9+
next: () => Promise.resolve({
10+
value,
11+
done: value++ === this.end + 1
12+
})
13+
};
14+
}
15+
};
16+
17+
console.dir({
18+
range,
19+
names: Object.getOwnPropertyNames(range),
20+
symbols: Object.getOwnPropertySymbols(range),
21+
});
22+
23+
(async () => {
24+
for await (const number of range) {
25+
console.log(number);
26+
}
27+
})();

0 commit comments

Comments
 (0)