我正在使用递归函数,该函数在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”语句?会影响性能吗?