我在某些服务类中具有递归函数,以删除一些json元素,并且一旦删除它们,我就必须调用为更新注册的回调。
我的代码-
var trimTree = function(){
removeScripts(tree.children).then(function(){
angular.forEach(callbacks, function(callback){
//console.log(callback);
console.log("Calling callbacks");
callback();
});
});
}
function removeScripts(nodes){
for(i=0;i<nodes.length;i++){
if(nodes[i].type == 'script'){
return nodes.splice(i, 1);
}else{
return removeScripts(nodes[i]);
}
}
}
但是它给我错误为
TypeError: Cannot read property 'then' of undefined
谢谢
最佳答案
您假设removeScripts()
返回了Promise,但没有返回。 removeScripts()
是同步的,因此通常在其后添加语句。