我有一个 angularjs 应用程序,当它检测到在 Web 服务调用中返回了超过一定数量的行时,它会显示一个消息框。然而不幸的是,当我调用该服务时,angular 似乎进入了它的摘要循环,并且消息框显示了 3 次。
我并不真正关心 Angular 需要在内部做什么,只要它与我编写函数的方式无关。但是,我当然不希望这个消息框(也不调用 Web 服务)显示三次。每次调用下面的函数时检查调用堆栈,我可以看到调用不是源自我的应用程序代码。
如何检测循环的状态,以便我可以忽略第一个调用之后的调用?
function bindResults(expression) {
var maxRows = 100;
listData.search(expression, maxRows).then(function (data) {
$scope.searchResults = data;
if (data.length == maxRows)
{
var title = "Search Warning";
var msg = "The maximum number of cases was returned, try being more specific";
var btns = [{ result: 'ok', label: 'OK', cssClass: 'btn-primary' }];
$dialog.messageBox(title, msg, btns)
.open();
}
});
};