在对数据库进行AJAX编辑时,是否应该立即使用新数据更新界面

sam*_*old 7 javascript ajax user-experience crud inline-editing

我正在使用内联编辑来使用AJAX更新数据库中的文本.这基本上就是这个过程,很常见的东西:

  • 文字不可编辑
  • 我点击文字,它变得可编辑
  • 我输入新文字
  • 然后单击以将更新的文本发送到数据库
  • 然后将文本返回到不可编辑的格式

我的问题是我何时应该使用新数据更新界面?我应该在ajax调用之前立即更新它,还是应该等待更新响应从数据库返回?

我的顾虑:

  • 如果我不立即更新接口并等待从数据库获取响应,那么我已经失去了ajax带来的异步优势.
  • 但是,如果我立即更新它,那么如果数据库响应有错误,我不得不跟踪我已经做出的改变,并反转它,这是更多的工作.

那么这种事情通常是怎么做到的?

jdi*_*jdi 3

我认为等待回调的响应和更新是完全合理的。这样做不会影响异步方法。它仍然是完全异步的,因为您没有阻止整个页面或完全重新加载它。

很多时候,在应用程序中,尤其是在带宽可能有限的移动应用程序中,我会看到一个旋转图标,指示该字段正在提交。这不会影响应用程序的任何其他部分。当我使用移动视图时,甚至 stackoverflow 也会这样做。依靠回调来保持异步并仍然同步到数据库返回值。