2016-04-01 3 views
0

以下のコードでは、制御はbookinQueryの成功ブロックにはありません。 Parse.comでの検索のネストを使用する方法は?誰かを助けることができますか?ありがとう。制御が成功ブロックに入っていないparse.com

Parse.Cloud.define( "checkAvailibilityOfRooms"、関数(リクエスト、レスポンス) {

var bookdate = request.params.bookdate; 
var reqfromtime = request.params.reqfromtime; 
var reqtotime = request.params.reqtotime; 


var intervals = 48; //Total intervals in a day for Booking 
var _in, _out, flag=true; 

var room_list = []; 

var RoomObj  = Parse.Object.extend("Room"); 
var roomQuery = new Parse.Query(RoomObj); 

roomQuery.find({ 

    success:function(results){ 

     for(var i=0 ; i<results.length;i++){ 

      room_list.push(results[i].get('room_mac_id')); 
     } 


     console.log(room_list[1]); 

      var BookObj  = Parse.Object.extend("Booking"); 
      var bookingQuery = new Parse.Query(BookObj); 

      for(var j=0 ; j<room_list.length;j++){ 

       console.log("Inside j loop"); 

       bookingQuery.equalTo("book_date",bookdate); 
       bookingQuery.equalTo("room_mac_id",room_list[j]); 
       bookingQuery.ascending("book_fromtime"); 

       bookingQuery.find({ 

        success:function(results){ 

           console.log("Inside second successs"); 

           var map = []; 

           for(var i=0;i<intervals;i++){ 
            map.push({index: i, flag: true}); 
           } 

           console.log(map[0]); 
           console.log(results[0].get('book_fromtime')); 


           for(var i=0;i<results.length;i++){ 
            _in = Math.ceil(results[i].get('book_fromtime') * 2); 
            _out = Math.ceil(results[i].get('book_totime') * 2) - 1; 


            for(var j=_in;j<=_out;j++){ 
             map[j].flag = false; 
            } 
           } 


           _in = Math.ceil(reqfromtime * 2); 
           _out = Math.ceil(reqtotime * 2) - 1; 

           for(var i=_in;i<=_out;i++){ 

            if(!map[i].flag){ 
             flag=false; 
             break; 
            } 
           } 

           console.log("Status of booking"); 
           console.log(flag); 

        }, 

        error:function(error){ 


        } 

       });//bookingQuery find block 



    } 



      response.success("Exclude rooms inside"); 
    },//success block 

    error:function(error){ 

     response.success(error.code + error.message); 
} 



}) ; 

})。

+0

@tusharオープンソースです。多くは、オープンソースの解析サーバーを使用して同じものを構築しています。 –

答えて

0

私は同じ問題を抱えていましたが、私は別の構文の構文を使用して解決しました。私はそれがどうなったのかわかりませんが、この構文に変更するだけで自分の構文解析サーバーで私を働かせました...

Parse.Cloud.afterSave('Comment', function(request, response) { 
    var postID = request.object.get("post_id").id; 
    console.log("PostID: " + postID); 
    var query = new Parse.Query('Post'); 
    query.equalTo("objectId", postID); 
    query.first({ useMasterKey: true }).then((result) => { 
     console.log('query succeeded', result); 
     result.increment("commentCount"); 
     result.save(); 
     response.success(); 
    }, (error) => { 
     console.log('query failed', error); 
     response.error(error); 
    }); 
});