0
在教程中,他们有一个示例应用程序,用户可以在其中调用事情。当用户点击upvote时,它会发出更新后端的请求,并在它向用户显示效果之前等待,直到该请求成功。代码如下:Angular等待响应后端更新时应该做些什么?
$scope.incrementUpvotes = function(post) {
posts.upvote(post);
};
o.upvote = function(post) {
return $http.put('/posts/' + post.id + '/upvote.json')
.success(function(data){
post.upvotes += 1;
});
};
这样做的缺点是,如果您的网络速度较慢,则可能会导致延迟,从而导致用户体验不佳。
我看到的两个选项是要么向用户显示加载符号,直到成功为止。在后台发生后台同步时立即显示upvote的效果。如果请求失败,则客户端和服务器之间的数据将不会同步,这是危险的。
我也看到有些人在使用AJAX队列就像如下:
一个实际问题Add queueing to angulars $http service
编辑:
什么是最好的做法在这里的发展和用户方面经验?大多数人做什么,有没有我应该注意的优点/缺点?
看着乐观的更新 – walkerrandophsmith
我不会说这是角度特定的,你会有任何Ajax驱动的Web应用程序的这个问题。 [等待AJAX请求时的标准做法是什么](http://ux.stackexchange.com/questions/52319/what-is-the-standard-practice-for-while-waiting-for-a-ajax - 请求)可能会有所帮助。 – user2718281