hen*_*ald 1 javascript recursion mongodb node.js
我有一个递归函数,它执行一种树过程,其中每个调用可以多次调用自身,我无法知道它的深度或宽度.整个过程完成后如何运行回调?
我正在考虑让某种对象传递给我做计数,但还没有完全破解它,我想知道是否有一个已知的最好/更好的方法来做到这一点.
你可以这样做:
function recurseTree(arg, callback) {
var recurse = function(a) {
if (someCondition) {
recurse(a);
}
};
recurse(arg);
callback();
}
Run Code Online (Sandbox Code Playgroud)
所有实际的递归逻辑都将进入recurse函数,并且只有在所有递归完成后才会调用回调.
编辑:
这是一个简单的实现
function recursiveAlert(x, callback) {
var recurse = function(y) {
alert(y);
if (y < 3) {
recurse(y + 1);
}
}
recurse(x);
callback();
}
recursiveAlert(0, function() { alert('done'); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |