相关疑难解决方法(0)

async forEach AngularJS之后的回调

如何在async forEach循环后添加回调函数?

这是一些更好的背景:

$scope.getAlbums = function(user, callback) {
    $scope.albumsList.forEach(function (obj, i) {
        $scope.getAlbum(user, obj.id, function(value){
            $scope.albums.push(value);
        });
    });
    // callback(); ???
};

$scope.getAlbums('guy123', function(){
    // forEach loop is all done!
    console.log($scope.albums)
});
Run Code Online (Sandbox Code Playgroud)

控制器:

.controller('Filters', ['$scope','Imgur', function($scope, Imgur) {

    $scope.getAlbum = function(user, id, callback) {
        Imgur.album.get({user:user, id:id},    
            function(value) {
                return callback(value.data);
            }
        );
    }

    $scope.getAlbums = function(user, callback) {
        // Callback function at end of this forEach loop?
        // Request is async...
        $scope.albumsList.forEach(function (obj, i) {
            $scope.getAlbum(user, obj.id, function(value){
                $scope.albums.push(value);
            }); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

20
推荐指数
2
解决办法
5万
查看次数

部分更新(又名PATCH)使用基于资源的服务?

我们正在使用Django/TastyPie作为后端REST服务提供程序构建Web应用程序,并构建基于AngularJS的前端,使用大量基于$ resource的服务来处理服务器上的CRUD对象.到目前为止,一切都很好!

但是,当我们想要仅更新对象上的一个或两个已更改字段时,我们希望减少我们传送的数据量.

TastyPie使用HTTP PATCH方法支持此功能.我们在对象上定义了一个.diff()方法,因此我们可以确定在进行更新时要发送哪些字段.我找不到任何关于如何在$ resource返回的实例对象上定义/实现该方法以执行我们想要的文档.

我们想要做的是向对象实例添加另一个方法(如此处的Angular.js文档中所述),如myobject.$ partialupdate(),它将:

  1. 调用我们的.diff()函数来确定要发送的字段,然后
  2. 使用HTTP PATCH请求仅将这些字段发送到服务器.

到目前为止,我找不到任何描述如何执行此操作的文档(或其他SO帖子),但非常感谢任何人可能提出的任何建议.

谢谢.

tastypie angularjs

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

angularjs ×2

javascript ×1

tastypie ×1