[英]Can I use generator-function with arrow function?
我想知道是否可以将箭头 function 与这样的生成器一起使用:
app.use( *() => {
...body of function
});
谢谢!
不可以,它不可能比文档中描述的要短:
function* name([param[, param[, ... param]]]) {
statements
}
参考: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/function*
你可以,但不是很好。 它不短,看起来也不那么漂亮。 看一下这个:
function* iterable(arg): Iterable<never> {
yield* [];
}
async function* asyncIterable(arg): AsyncIterable<never> {
yield* [];
}
const arrowIterable = arg => {
return {
*[Symbol.iterator]() {
yield* [];
},
};
};
const arrowAsyncIterable = arg => {
return {
async *[Symbol.asyncIterator]() {
yield* [];
},
};
};
这是可行的,因为可迭代对象基本上是一个 object,其中Symbol.iterator
或Symbol.asyncIterator
设置为一个迭代器。 生成器是迭代器!
享受!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.