我有一个函数foo
,它返回一个可以迭代的对象:
const foo = () => ({
[Symbol.iterator]: function * () {
yield * [ 1, 2, 3 ];
},
});
for (const x of foo()) {
console.log(x);
}
// 1
// 2
// 3
现在我想用Flow类型定义来注释foo
。但这些看起来像什么?
此外,async
版本bar
怎么样?
const bar = () => ({
[Symbol.asyncIterator]: async function * () {
yield * [ 1, 2, 3 ];
},
});
for await (const x of bar()) {
console.log(x);
}