Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用setInerval时,窗口处于挂起状态_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 使用setInerval时,窗口处于挂起状态

Javascript 使用setInerval时,窗口处于挂起状态,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,.controller('overviewCtrl',函数($scope、$http、$interval){ $scope.cardShow=false; $scope.infoShow=true; $scope.yes1=false; $scope.yes2=false; $scope.status=true; $scope.arbitration=true; $scope.notAccepted=true; $scope.cardShowRegular=false; $scope.check

.controller('overviewCtrl',函数($scope、$http、$interval){
$scope.cardShow=false;
$scope.infoShow=true;
$scope.yes1=false;
$scope.yes2=false;
$scope.status=true;
$scope.arbitration=true;
$scope.notAccepted=true;
$scope.cardShowRegular=false;
$scope.check1=false;
$scope.id=53;
$scope.opportunitiesArr=[];
$scope.opportunity=[];
$scope.profile=[];
/*获得机会*/
$scope.oppList=函数(){
$http.get(“https://serviceme.blynksystems.com:6443/createContract/fseoppurtunities/“+$scope.id)
.然后(功能(响应){
$scope.opportunitiesArr=response.data;
log(“opportunities”+JSON.stringify($scope.opportunitiesArr));
},功能(回应){
控制台日志(“错误”+响应);
});
}
/*$rootScope.$broadcast(“sendOpportunities”、$scope.opportunitiesArr)*/
$scope.oppList();
/*机会的终结*/
$scope.contactInfo=函数(opport){
$scope.opportunity=opport;
log(“opportfjdufiu”+JSON.stringify($scope.opportunity));
log(“opport”+JSON.stringify(opport));
/*$scope.customerId=opport.customer\u id*/
/*$scope.serviceName=opport.service\u name;
$scope.carModel=opport.car\u模型*/
/*$scope.driverEmail=opport.driver\u电子邮件*/
/*$scope.statusOfFse=opport.status\u of\u fse*/
$scope.cardShow=true;
$scope.cardShowRegular=true;
$scope.infoShow=false;
/*张贴承兑汇票*/
if(opport.driver_email!=null | | opport.driver_email!=未定义){
风险值数据={
“机械师id”:$scope.id,
/*“客户id”:opport.customer\u id*/
“驾驶员电子邮件”:opport.driver\u电子邮件,
“服务名称”:opport.service\u name,
“汽车模型”:opport.car\u模型,
“地位”:2,
“计数器价格”:”
}
}否则{
风险值数据={
“机械师id”:$scope.id,
“客户id”:opport.customer\u id,
/*“驾驶员电子邮件”:opport.driver\u电子邮件*/
“服务名称”:opport.service\u name,
“汽车模型”:opport.car\u模型,
“地位”:2,
“计数器价格”:”
}
}
log(“emergency”+JSON.stringify(data));
var req={
方法:“POST”,
网址:'https://serviceme.blynksystems.com:6443/createContract/updatewhenfseaccepted',
数据:数据
}
$http(req).then(函数(响应){
log(“respose”+JSON.stringify(response.data));
},功能(回应){
控制台日志(响应);
});
$scope.callFtn=函数(){
设置间隔($scope.contactInfo(opport),3000);
}
$scope.callFtn();
/*$interval(函数(){
$scope.contactInfo(opport)
}, 3000);*/
/*张贴承兑汇票*/
}

});您正在递归地使用setInterval,这最终会导致窗口卡住。请参阅此以获取替代解决方案:


请在Angular中使用
$interval
,因为它在调用
$interval
时查找范围更改,并反映绑定中的更改。这是通过触发摘要循环来完成的。

您是否看到任何错误<代码>$interval
也应该有效。看起来有什么问题我也使用了$interval。但是在contactInfo函数中,我显示了一个div标记。经过这么长时间后,该div才显示出来。谢谢。使用$interval函数,contactInfo正在调用,但函数中的POST请求没有调用。每当contactInfo每3秒钟呼叫一次,成功块中的POST请求控制台除外。