Javascript Parse.com后台作业云代码无法调用方法';然后';未定义的

Javascript Parse.com后台作业云代码无法调用方法';然后';未定义的,javascript,parse-platform,Javascript,Parse Platform,我不熟悉cloudcode和javascript,所以promise的概念还不清楚,我正试图上传一个读取级别的文件,并使用后台作业将其保存到类级别,但在下面的代码中,我发现错误,无法调用未定义的“then”方法 我不确定出了什么问题?当您的概念不清楚时,调试是非常困难的,因为它应该是这样的,因此如果有人能够澄清我的解析承诺概念,并帮助解决代码中的上述错误,这将是非常有帮助的 Parse.Cloud.job("uploadLevelJob" , function(request , status)

我不熟悉cloudcode和javascript,所以promise的概念还不清楚,我正试图上传一个读取级别的文件,并使用后台作业将其保存到类级别,但在下面的代码中,我发现错误,无法调用未定义的“then”方法

我不确定出了什么问题?当您的概念不清楚时,调试是非常困难的,因为它应该是这样的,因此如果有人能够澄清我的解析承诺概念,并帮助解决代码中的上述错误,这将是非常有帮助的

Parse.Cloud.job("uploadLevelJob" , function(request , status){
    var Levels= Parse.Object.extend("Levels");
    var levels= request.params.arrayOfLevels;
    var promise = new Parse.Promise.as();
    _.each(levels , function(level){
        promise = promise.then(function() {
            var tempObj = new Levels();
            tempObj.set("levelId",parseInt(level[i][0]));
            tempObj.set("levelName",level[i][1]);
            return result.save();          
        });
        return promise;
    }).then(function(){
        status.success("Uploaded ! ");  
    });

});

看起来你试图在系列中使用承诺,但实际上你可以在你的案例中使用。因为每次保存都是相互独立的。顺便说一下,
i
result
似乎在代码中没有定义。我假设
levels
是一个类似
[[levelId,“levelName”],…]的数组

var Levels = Parse.Object.extend("Levels");

Parse.Cloud.job("uploadLevelJob" , function(request , status){
  var levels = request.params.arrayOfLevels;

  var promises = [];
  _.each(levels , function(level) {
    var tempObj = new Levels();
    tempObj.set("levelId",parseInt(level[0]));
    tempObj.set("levelName",level[1]);
    promises.push(tempObj.save());
  });

  return Parse.Promise.when(promises).then(function() {
    status.success("Migration completed successfully.");
  }, function(error) {
    status.error("Uh oh, something went wrong.");
  });

});

我不熟悉
Parse.com
,但是从代码的外观来看,错误来自
})。然后(function(){status.success(“Upload!”);})
这是因为
\每个
方法都不返回值。