2016-07-11 2 views
1

以下は、フレンドデータベースの作成に使用しようとしているクラウドコードです.1つ目と3つ目の関数は正常に動作しますが、AcceptFriendRequest関数はタイムアウトしませんサーバーにエラーコード100が表示されます。これが100%発生すると、私は非常に迷っています。すべての助けに感謝します。それはAcceptFriendRequestでFRequestように思えるパース接続1つの特定の関数のタイムアウトが発生する

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

var FriendRequest = Parse.Object.extend("FriendsIncoming"); 

var FRequest = new FriendRequest(); 

var user = request.user; 

var query = new Parse.Query(Parse.User); 
query.equalTo("username", request.params.username); 
query.find({ 
    success: function (people) { 
     if(people.length == 0) 
     { 
      response.success(-5); 
      return; 
     } 

     var person = people[0]; 
     FRequest.set("OwnerID", user.id); 
     FRequest.set("TargetFriend", person.id); 
     FRequest.set("Status", 0); 

     var query = new Parse.Query("FriendsIncoming"); 
     query.equalTo("OwnerID", user.id); 
     query.equalTo("TargetFriendID", person.id); 
     query.find({ 
      success: function (results) { 

       if (results.length > 0) { 
        response.success(1); 
        return; 
       } 
       FRequest.save(null, { 
        success: function (Friend) { 
         response.success(2); 
        }, 
        error: function (Friend, error) { 
         response.error(3); 
        } 
       }); 
       response.error(-2); 

      }, 
      error: function() { 
       response.error(-1); 
      } 
     }); 
    } 
    , 
    error: function (Friend, error) { 
     response.error(-4); 
    } 

}); 


}); 

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


var user = request.user; 

var query = new Parse.Query("FriendsIncoming"); 
query.equalTo("OwnerID", user.id); 
query.equalTo("TargetFriendID", request.params.TargetFriendID); 
query.find({ 
    success: function (results) { 

     if (results.length > 0) { 

      response.success(1); 
      return; 
     } 
     FRequest.save(null, { 
      success: function (Friend) { 
       response.success(2); 
      }, 
      error: function (Friend, error) { 
       response.error(3); 
      } 
     }); 
     response.error(-2); 

    }, 
    error: function() { 
     response.error(-1); 
    } 
}); 
}); 




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

var query = new Parse.Query("FriendsAccepted"); 
var results = []; 


query.find().then(function (Friends) { 
for (var i = 0; i < Friends.length; i++) { 
results.push(Friends[i]); 
} 

// success has been moved inside the callback for query.find() 
response.success(results); 
}, function (error) { 
// Make sure to catch any errors, otherwise you may see a "success/error not called" error in Cloud Code. 
response.error("Could not retrieve Posts, error " + error.code + ": " + error.message); 
}); 
}); 

答えて

0

は は、関数の内部でこれを追加...初期化されていません。 parse.comのタイムアウトは、クラウド機能の場合は15秒、afterSaveの場合は3秒です。彼らは彼らがシャットダウンしているにもかかわらず、彼らはそれを変更する可能性があります

var FriendRequest = Parse.Object.extend("FriendsIncoming"); 
var FRequest = new FriendRequest(); 
関連する問題