[英]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.