递归函数中不返回任何内容的“ return”语句的用法

时间:2018-06-20 10:12:32

标签: javascript node.js asynchronous recursion

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

0 个答案:

没有答案