2017-01-03 31 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

相关问题