【发布时间】:2015-02-13 07:09:47
【问题描述】:
在我的控制器中,借助服务,我向用户发送了一些 qr 数据:
$scope.sendtoList = function () {
$scope.qrStatus = false;
angular.forEach($scope.users, function (item) {
if (item.Selected){
inviteService.sendQR(item.Emails.main, $scope.company.Id).then(function(response) {
$scope.qrStatus = true;
},
function(err) {
$scope.qrStatus = false;
});
}
});
if ($scope.qrStatus){
$window.alert('QR-code has been sended successfully.');
}
else{
$window.alert('Warning! QR-code has not been sended successfully.');
}
}
我看到一些奇怪的行为:它总是显示警告警报,即使方法成功完成 - 我认为这是有希望的。但是只有在服务承诺返回后,我才能在我的情况下显示窗口?
【问题讨论】:
-
你需要以非阻塞的方式处理这个,而不是阻塞的方式。代码完成后,您的承诺将返回。
-
@BrianNoah 你能提供代码示例吗?
-
完成。未经测试,但我发布的内容应该可以工作。
标签: javascript angularjs