2016-06-27 2 views
0

Cordova 플러그인을 사용하여 루프에서 SMS를 보내려고합니다. SMS의 큰 부분이 보내지 않은 문제. 복용 코드는 몇 가지 제한이 있습니까? 아니면 이상적인 시간을해야합니까? 이 내 코드 :코드바 플러그인을 사용하여 루프에 SMS를 보내지 마십시오.

var contactsLen = $scope.contacts.length; 
    for (var i = 0; i < contactsLen; i++) { 
     if ($scope.contacts[i].hasOwnProperty('number')) { 
     $cordovaSms 
      .send($scope.contacts[i].number, text) 
      .then(function() { 
      if (i == contactsLen - 1) { 
       $scope.log += 'send All!' 
      } 
      }, function (error) { 

답변

1

는 SMS를 전송 플러그인 코드가 비동기, 그런 루프를 실행하는 것을 의미합니다 예상대로 작동하지 않습니다. 여러 개의 비동기 이벤트를 발생시키고 모두을 끝낼 때까지 기다리려면 q $ (https://docs.angularjs.org/api/ng/service/ $ q)와 같은 것을 사용해야합니다. 약속의 배열을 전달할 수있는 all() 메서드를 기록해 두십시오.

관련 문제