Javascript 如何在parse.com的异步方法中使用for循环

Javascript 如何在parse.com的异步方法中使用for循环,javascript,parse-platform,Javascript,Parse Platform,我想在for循环中调用parse.com的函数,但当我将函数放入for循环时,for循环就完成了,没有函数的响应 for (var i = 0; i <tourPackage.length; i++) { var Apackage = tourPackage[i].attributes; tourPackageDest.set("package_id",tourPackage[i].id); tourPackageDest.set("it

我想在for循环中调用parse.com的函数,但当我将函数放入for循环时,for循环就完成了,没有函数的响应

for (var i = 0; i <tourPackage.length; i++) { 
        var Apackage = tourPackage[i].attributes;  
        tourPackageDest.set("package_id",tourPackage[i].id);
       tourPackageDest.set("itinerary",Apackage.holiday_short_detail);
        var SD = Apackage.destination.split(',');
            for(var k=0; k<SD.length;k++){
                var destPlace =                           Parse.Object.extend("Cities_World");//DestinationMaster
                 var query = new Parse.Query(destPlace);
                query.equalTo("place_name", SD[k]);
                query.find().then(function(results){
                    console.log(results);
                });
                tourPackageDest.save(null,{
                    success: function(Tpackage){
                        console.log("Successfully saved in PackageItineraryMaster");
                        }
                });
            }

}

for(var i=0;i您正在调用的许多方法(例如.find(),.save())都是异步的。从外观上看,您在编写代码时就好像它们是同步方法一样。下面是一个示例(),说明了如何构造代码来解释这种异步性:

var query = new Parse.Query("Comments");
query.equalTo("post", 123);

query.find().then(function(results) {
  // Collect one promise for each delete into an array.
  var promises = [];
  _.each(results, function(result) {
    // Start this delete immediately and add its promise to the list.
    promises.push(result.destroy());
  });
  // Return a new promise that is resolved when all of the deletes are finished.
  return Parse.Promise.when(promises);

}).then(function() {
  // Every comment was deleted.
});

基本上,您希望将异步函数中的每个承诺添加到一个数组中,并创建一个新的承诺,当所有这些承诺都得到解决时,该承诺将得到解决。

您正在调用的许多方法(例如.find(),.save())是异步的。从外观上看,您在编写代码时就好像它们是同步方法一样。下面是一个示例(),介绍了如何构造代码以说明这种异步性:

var query = new Parse.Query("Comments");
query.equalTo("post", 123);

query.find().then(function(results) {
  // Collect one promise for each delete into an array.
  var promises = [];
  _.each(results, function(result) {
    // Start this delete immediately and add its promise to the list.
    promises.push(result.destroy());
  });
  // Return a new promise that is resolved when all of the deletes are finished.
  return Parse.Promise.when(promises);

}).then(function() {
  // Every comment was deleted.
});

基本上,您希望将异步函数中的每个承诺添加到一个数组中,并创建一个新的承诺,当所有这些承诺都得到解决时,该承诺将得到解决。

谢谢谢谢谢谢谢谢,我只是parse.com中的新手,所以需要时间来解决问题。但您让我的问题变得更简单了。再次感谢谢谢谢谢谢谢谢谢,我是只是parse.com上的新手,所以需要时间来解决问题。但是你让我更简单了。再次感谢