Javascript angularjs如何在ng if函数中处理承诺

Javascript angularjs如何在ng if函数中处理承诺,javascript,angularjs,Javascript,Angularjs,在angularjs中,我在元素中使用ng show=“isChecked('ID')”。并尝试访问另一个控制器中生成的$rootscope.array。我的职能是 $scope.isChecked = function(ID) { console.log( $rootScope.IsCntrChecked); var mycheck = $rootScope.IsCntrChecked.find(function(v) { return

在angularjs中,我在元素中使用
ng show=“isChecked('ID')”
。并尝试访问另一个控制器中生成的$rootscope.array。我的职能是

$scope.isChecked = function(ID) {       
    console.log( $rootScope.IsCntrChecked);     
    var mycheck = $rootScope.IsCntrChecked.find(function(v) {
        return v.CntrCode == ID;
    }).CntrChk;
    console.log(mycheck);       
    return mycheck;   
};
它工作正常,但在控制台中,当$rootScope.iscentrchecked未定义时,对于前几个调用,我确实会收到错误消息“TypeError:无法读取未定义的'find'属性”。我试图处理函数中的承诺,但这是一个错误

[$rootScope:infdig]已达到10$digest()迭代次数。流产

请建议我用简单的方法处理这个错误。
谢谢

在尝试查找
中的内容之前,只需检查
$rootScope.iscontrchecked
是否存在:

if(!$rootScope.IsCntrChecked)
    return false;

只需检查
$rootScope.iscontrchecked
是否存在,然后再尝试
查找其中的内容:

if(!$rootScope.IsCntrChecked)
    return false;

在运行函数中使用默认值初始化
$rootScope.iscontrchecked
,在运行函数中使用默认值初始化
$rootScope.iscontrchecked