0
Parse.Cloud.define("bulkUpdateUserViewedTraces", function(request, response){
    Parse.Cloud.useMasterKey();

    var userQuery = new Parse.Query(Parse.User);
    userQuery.limit(200);

    var userCount = 0;

    userQuery
        .find(function (users) {
            var promises = _.map(users, function (user){
                userCount++;
                return populateViewedTraces(user);
            });
            return promises;
        })
        .then(function (promises) {
            return Parse.Promise.when(promises);
        })
        .then(function(){
            console.log("Processed " + userCount + " users");
            response.success("Processed " + userCount + " users");
        }, function(error){
            console.error(JSON.stringify(error));
            response.error(error);
        });
});

function populateViewedTraces (user) {
    var viewedTracesCount = 0;

    var viewHistoryQuery = new Parse.Query("ViewHistory");
    viewHistoryQuery.equalTo("user", user);

    return viewHistoryQuery
        .each(function (viewHistory) {
            console.log("Got here");
            viewedTracesCount++;
        })
        .then(function () {
            console.log("Got here 2");
            return user.save();
        });
}

不工作。记录“已处理的 x 个用户”,但从不记录“到达这里”。承诺应该在 when() 调用期间执行,但永远不会执行。

这绝对没有意义,因为我看到的每一篇描述何时都写成这样的帖子。出于某种原因,这只是没有做任何事情。

4

0 回答 0