2017-01-03 58 views
1

可以在我的angularjs中編輯,當我編輯表格中的3到4個項目時,它可以平滑運行。編輯並按下保存按鈕後,它會自動重新加載頁面,以更改連接到您編輯的項目的其他項目的值。如何檢查執行更新已完成

問題是,當我更改我的表中的52項不同步。重新加載一些項目後沒有改變,但當我自己重新加載所有的數據被編輯,一切都很好。

我的假設是當我的循環運行52次更新。我檢查我的日誌。我看到執行更新時。它會重新加載比我的循環更快。

我的結論是有可能在我的日誌中檢查52次更新的執行情況嗎?

分享你的想法,如果有更多的選擇:)這將是偉大

我的控制器:

nums = [] 

$scope.saveTable =() => 
    for data in nums 
    LeaveCredit.update(data) 
    $route.reload() 


$scope.checkRecord = (data, record) -> 
    if data != record.no_of_days 
    nums.push({ id: record.id, no_of_days: data }) 
+0

是您的更新異步或同步? – Yaser

+0

感謝您的同步回覆 – wiwit

+0

如果'LeaveCredit.update'實際上是幕後異步,它將解釋問題。你能否給我們更多關於'LeaveCredit.update()'的細節? – willoller

回答

0

如果你能控制的「更新」的API,它的同步,您應該使其返回數據的更新版本,所以你可以這樣做:

$scope.saveTable =() => 
    for data in nums 
    data = LeaveCredit.update(data) 

如果你能做到這一點,你就不會需要reload(),因爲數據將會實時更新。

如果update()是非同步不過,你可能能夠使用一個承諾接口這樣的:

$scope.saveTable =() => 
    for data in nums 
    LeaveCredit.update(data) 
     .then((updatedData) => 
     data = updatedData 

(不知道這是好咖啡)

+0

你可以給我js語法我會做轉換:) – wiwit

+0

第一個源代碼很好,但我有另一張表在leavecredits同步這就是爲什麼我需要重新加載 – wiwit