鉴于我有一个递归方法:
tests = {
add: function (data, option, dataSet) {
if(option) {
dataSet.forEach(function (values) {
this.add(values.data, false);
}, this);
}
console.log(data.name)
}
}
我会用
来称呼它tests.add({name: 'test1'}, true, [{data: {name: 'test2'}}]);
我认为这会记录' test2'之前' test1'在所有情况下,但在很多情况下,这不会发生。到目前为止,我知道forEach函数应该阻止其他行的执行,但这根本不会发生。
一点背景: 代码应该在网页上添加某些组件。这些组件可以依赖于其他组件(在dataSet中)。应始终首先递归地添加这些依赖项。
有什么想法吗?