2016-06-27 4 views
0

Ich versuche SMS mit Cordova Plugin auf Schleife zu senden. Das Problem, dass ein großer Teil von SMS nicht gesendet wird. Dosis Cordova haben einige Einschränkungen oder sollte ich einige ideale Zeit tun? dies mein Code:Nicht senden von SMS auf Schleife mit Cordova-Plugin

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) { 

Antwort

1

Das Plugin Code, der die SMS sendet asynchron, die es in einer Schleife wie das bedeutet laufen wird nicht so funktionieren, die Sie erwarten. Wenn Sie mehrere asynchrone Ereignisse auslösen und darauf warten möchten, dass sie alle beenden, müssen Sie etwas wie q $ (https://docs.angularjs.org/api/ng/service/ $ q) verwenden, um damit umzugehen. Notieren Sie sich die all() -Methode, mit der Sie ein Array von Versprechen übergeben können.