2015-08-24 25 views
2

我的解析Javascript云代码无法正常工作。基本上我所有的对象都有相应的“index/menindex & womenindex”编号。ClouldCode没有返回正确的结果(随机数字范围有限)

如果选择了两个性别 - 所有项目都显示出来(他们应该)。

如果仅选择男性或女性,则只显示122309(womenindex)或80811(menindex)的商品。我已经尝试了几个星期,但无法弄清楚这一点。

Parse.Cloud.define("standardQuery", function(request, response) { 

var maxIndex = 124940; 
var maxWomenIndex = 135354; 
var maxMenIndex = 105357; 

var arrayOfRandomNumbers = new Array(); 

var query = new Parse.Query("garmentsAPI"); 

    if (request.params.gender === "Female") { 

     //arrayOfRandoms draws on womenIndex, gender set to female 

     for (var k = 0; k < 40; k++) { 

      var randomIndex = Math.floor((Math.random()*maxWomenIndex)+1); 

      arrayOfRandomNumbers.push(randomIndex); 

       } 
     query.containedIn("womenIndex", arrayOfRandomNumbers); 
     query.notEqualTo ("viewers", request.params.user); 


    }else if (request.params.gender === "Male") { 

     for (var k = 0; k < 35; k++) { 

      var randomIndex = Math.floor((Math.random()*maxMenIndex)+1); 

      arrayOfRandomNumbers.push(randomIndex); 

       } 

     query.containedIn("menIndex", arrayOfRandomNumbers); 
     query.notEqualTo ("viewers", request.params.user); 

     //arrayOfRandoms draws on menIndex, gender set to male 

    }else{ 

     for (var k = 0; k < 35; k++) { 

      var randomIndex = Math.floor((Math.random()*maxIndex)+1); 

      arrayOfRandomNumbers.push(randomIndex); 

       } 

     query.containedIn("index", arrayOfRandomNumbers); 
     query.notEqualTo ("viewers", request.params.user); 

    }; 


    if (request.params.gender !== "both") { 
    query.equalTo ("gender", request.params.gender); 
    }; 

    query.find({ 

    success: function(objectsInQuery){ 

     if (objectsInQuery.length > 15) { 

      var arrayOSelectedObjects = new Array(); 

      for (var j = 0; j < 15; j++) { 

       arrayOSelectedObjects.push(objectsInQuery[j]); 

      } 

      response.success(arrayOSelectedObjects); 

     } else{ 
       // var existingCount = objectsInQuery.count; 
       var missingIndex = 15 - objectsInQuery.length; 


       // missingIndex = missingIndex - objectsInQuery.count; 

       var query = new Parse.Query("garmentsAPI"); 
       if (request.params.gender !== "both") { 
       query.equalTo ("gender", request.params.gender); 
       }; 
       query.notEqualTo ("viewers", request.params.user); 


       query.limit(missingIndex); 
       // query.limit = 9 - objectsInQuery.count; 


       query.find({ 

       success: function(objectsInQuery2){ 

       if ((objectsInQuery.length + objectsInQuery2.length) === 15) { 


        for (var l = 0; l < missingIndex; l++) { 

         objectsInQuery.push(objectsInQuery2[l]); 

        } 

        response.success(objectsInQuery); 


       } else { 



        //who knows 


        var maxIndex2 = 15000; 

        var arrayOfRandomNumbers2 = new Array(); 

        for (var m = 0; m < 15; m++) { 

        var randomIndex = Math.floor((Math.random()*maxIndex)+1); 

        // var randomIndex = 15; 

        arrayOfRandomNumbers2.push(randomIndex); 

        } 


        var query = new Parse.Query("garmentsAPI"); 
        query.containedIn("index", arrayOfRandomNumbers2); 
        if (request.params.gender !== "both") { 
        query.equalTo ("gender", request.params.gender); 
        }; 
        // query.notEqualTo ("viewers", request.params.user); 


        query.limit(15); 

        query.find ({ 


         success: function (objectsInQuery3){ 

          response.success (objectsInQuery3); 
         }, 

         error:function() { 

          response.error("there was an error"); 
         } 


        }); 


       }; 



        }, 
       error:function() { 

      response.error ("didn't work"); 

       } 

      } 

       ); 



     }; 



      }, 
     error:function() { 

      response.error ("didn't work"); 

     } 

     }); 

}); 

回答

0

对于初学者,您发布的所有大括号不匹配。具体来说,我找不到这个if发言结束花...

if (objectsInQuery.length > 15) {

应行173的第一个字符,根据您发布的...

作为这样的......

   }); 



     }; 



      }, 
     error:function() { 

      response.error ("didn't work"); 

     } 

     }); 

}); 

与您的文章,内容如下...

   ); 



     }; 



      }, 
     error:function() { 

      response.error ("didn't work"); 

     } 

     }); 

}); 
+0

当然 - 我为该声明添加了大括号。 – Yian

+0

我不这么认为,看编辑... – WhiteHat

相关问题