2015-04-01 36 views
0

這種輸出並不完全是我想要的,我不知道問題出在哪裏,通常應該在第二次循環之後完成第一個時間間隔,但結果如下所示:

我Y:4

我的I:4

我Y:3

我的I:5

我Y:2

我的我:6

但我想要的是完成第一個循環後,開始第二個。

在此先感謝

 var pos = new google.maps.LatLng(53, 91); 
     var j = $scope.map.zoom; 
     $interval(function() { 
      $scope.map.setZoom(j--); 
      console.log(" my j :"+j); 
     }, 500, 3);// Zoom out after 0.5 sec 

     $scope.map.panTo(pos); // Pan map to that position 

     var i = $scope.map.zoom; 
     $interval(function() { 
      $scope.map.setZoom(i++); 
      console.log("my i :"+i); 
     }, 500, 3);// Zoom in after 0.5 sec 

回答

1

當從第一區間的承諾解決您就可以開始第二區間:

$interval(function() { 
    $scope.map.setZoom(j--); 
    console.log(" my j :"+j); 
}, 500, 3).then(function() { 
    var i = $scope.map.zoom; 
    $interval(function() { 
     $scope.map.setZoom(i++); 
     console.log("my i :"+i); 
    }, 500, 3); 
}); 
+0

謝謝它的工作,但我不知道爲什麼會出現一在開始第二次間隔之前有一段時間,你知道爲什麼嗎?多數民衆贊成在 – Ayyoub 2015-04-01 09:16:25

+0

這是因爲它需要500毫秒,直到它開始運行。您可以在間隔之前執行一個$ scope.map.setZoom,並將計數從3更改爲2 – eladcon 2015-04-01 09:21:26

+0

正是如此,非常感謝 – Ayyoub 2015-04-01 09:22:16