【发布时间】:2017-10-05 18:19:14
【问题描述】:
当yield不存在时它们是相同的,当然在运行阶段就不一样了。
function* add(x, y) {
return x + y;
}
var it = add(2, 3);
it.next();
和
function add(x, y){
return x + y;
}
add(2, 3);
作为一种习惯,使用它们代替正常功能是否安全且可以? 尽管有性能。
【问题讨论】:
-
如果没有理由使用生成器函数,请不要。本例中没有。如果您有不同的实际用途,请写下来。
-
通过准确说明“可以使用它们”的含义来避免自以为是的辩论 - 您是在寻找
generator_func().next().value的行为与func()不同的情况,还是在寻找兼容性问题或.. .? -
我只是觉得使用生成器而不是普通函数可能是一个好主意,就像
let和const与var相比。所以在这种情况下不需要切换。 -
将生成器函数用于普通函数有点过头了。
-
请关闭这个问题。它是在询问纯粹的主观/定性问题,例如“安全吗?”、“可以吗?”
标签: javascript node.js asynchronous generator