到目前为止,我喜欢JavaScript,并决定使用Node.js作为我的引擎,部分原因是this,它声称Node.js提供总拥有成本。但是,当我尝试使用Node.js运行此代码(显然是尾部调用)时,它会导致堆栈溢出:
function foo(x) {
if (x == 1) {
return 1;
}
else {
return foo(x-1);
}
}
foo(100000);
现在,我做了些调查,找到了this。在这里,似乎是说我应该这样写:
function* foo(x) {
if (x == 1) {
return 1;
}
else {
yield foo(x-1);
}
}
foo(100000);
但是,这会给我带来语法错误。我尝试过它的各种组合,但在所有情况下,Node.js似乎都对某些东西不满意。
从本质上讲,我想知道以下几点:
yield
在Node.js中是如何工作的?https://stackoverflow.com/questions/23260390
复制相似问题