如何检查执行更新已完成

时间:2017-01-03 01:42:08

标签: angularjs

在我的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 })

1 个答案:

答案 0 :(得分:0)

如果您可以控制“更新”API,并且它是同步的,您应该让它返回数据的更新版本,以便您可以这样做:

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

如果您可以这样做,则不需要reload(),因为数据已经实时更新。

如果update()是异步的,你可以像这样使用promise接口:

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

(不确定这是不是好咖啡)