【发布时间】:2020-11-20 09:50:02
【问题描述】:
有没有办法在 Vanilla Javascript 中混合使用 yield 生成器和递归?
我有一个用例真的关闭了下面的代码,请不要介意异步/等待,因为原始中有承诺。
问题在于以下示例仅迭代一次。
let n = 0;
async function* atGet(offset=undefined) {
if (n == 0) offset = true;
if (n < 5) yield n;
if (!!offset) {
n = n + 1;
atGet(n);
}
}
const init = async () => {
try {
for await (let n of atGet()) {
console.log(n)
}
}
catch(err) {
throw err;
}
};
init();
我想知道我做错了什么,欢迎任何建议。
【问题讨论】:
标签: javascript recursion generator