2015-09-26 51 views
0

我試圖讓Angular在15秒後重新加載頁面,顯示一個微調,但由於某種原因,在兩次重複之後它將開始忽略$ interval函數並開始重新加載頁面的那一刻它會改變(不等待15秒)。 任何想法? 謝謝!

var getAll = function() { 
 
    $http.get('/getAll') 
 

 
    .success(function (data) { 
 
     // something 
 
    }) 
 

 
    .error(function (data) { 
 
     // something else 
 
    }); \t \t 
 
} 
 

 
getAll(); 
 

 
$interval(function() { 
 
    usSpinnerService.spin('spinner-1'); 
 
\t \t 
 
    $interval(function() { 
 
    getAll(); 
 
    usSpinnerService.stop('spinner-1'); 
 
    }, 2000); 
 

 
}, 15000);

+0

邏輯不使一個很大的意義....內部間隔將每2秒停止旋轉器,但旋轉器僅每15秒啓動一次。同樣每15秒鐘會創建一個每2秒鐘運行一次的新時間間隔......每隔2秒鐘就會有4個內部時間間隔在第一分鐘內運行。 Spinner應該在ajax回調中停止 – charlietfl

+0

爲什麼你需要一個時間間隔?你想啓動微調,延遲15秒,然後停止微調,並調用getAll()正確嗎? –

回答

0

看着爲$間隔的文檔,你需要設置「計數」,這是時代的$區間將重複次數。在這種情況下,它看起來像你只希望它發生一次。

這裏我們開始微調。然後間隔調用some_function()將停止旋轉,並調用GETALL()

var some_function() { 
    stop_spinner() 
    getAll() 
} 

start_spinner() 
$interval(some_function, 15000, 1); 

源開始之前的15秒延遲:https://docs.angularjs.org/api/ng/service/ $間隔

+0

剛纔我剛剛做了它,它工作。我沒有停止$間隔。非常感謝! – keyserfaty

相關問題