Jea*_*eri 1 javascript iterator ecmascript-6
对于ES2015 js类,我想要一个迭代器.所以我尝试了以下内容
export default class MyList {
iterator* () {
// Dummy implementation
let counter = 0;
while(true) {
yield counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为我想做
let list = new MyList();
iter = list.iterator();
while(!iter.done()) { ... }
Run Code Online (Sandbox Code Playgroud)
例如.
但是,这不起作用.所以问题是,在类中实现迭代器的首选方法是什么?
'*'应该在函数名之前.像这样:
export default class MyList {
*iterator() {
// Dummy implementation
let counter = 0;
while(true) {
yield counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
别客气.