我正在使用递归函数,它在NodeJS中异步获取一些细节。递归调用此函数以迭代ID数组。
var x = [1, 2, 3];
function rec_fun(index) {
if (index < x.length) {
someAsyncFuncCall(x[index], function(response) {
rec_fun(++index);
})
} else {
// iterated all elements from 'x'
someAnotherFunctionCall();
}
}
rec_fun(0); // start iteration
function someAnotherFunctionCall() {
console.log("finished iteraing data. Can proceed to next flow");
}
如果提供了巨大的数组作为输入,那么我认为javascript将抛出一个错误
RangeError: Maximum call stack size exceeded
rec_fun
上面显示的示例代码不需要返回任何内容。但当它被递归调用时,添加“return”语句是必需的吗?它会影响性能吗?