Parse Cloud Code объединить ответы

В моем iOS-приложении у меня есть экран активности приложения. Это включает в себя запросы из таблицы базы данных запросов и комментарии / лайки из таблицы комментариев.

Я пытаюсь переместить все мои запросы в облачный код. На экране активности заполняются все запросы / лайки / комментарии, сейчас я использую два сетевых вызова для получения этих данных, но я хочу объединить ответы моих функций, чтобы использовать один сетевой вызов для получения уведомлений пользователей.

Вот мои функции облачного кода:

Здесь я загружаю свои объекты уведомлений.

   Parse.Cloud.define("loadRequestNotifications", function(request, response){
   var currentUser = Parse.User.current();

   var query1 = new Parse.Query("Requests"); 
   query1.equalTo("requestUser", currentUser);

   var username = currentUser.get("username");     

   var query2 = new Parse.Query("Requests");
   query2.equalTo("driver", username);

    var main1 = Parse.Query.or(query1, query2); 
    main1.include("drivePointer");
    main1.include("drivePointer.driver");
    main1.limit(15);  

     main1.find({
      success: function(results) {
          response.success(results);
       },
      error: function(error) 
      {
        response.error(error);
      }
    }); 
});

Здесь я загружаю лайки текущих пользователей и комментирую там посты.

Parse.Cloud.define("loadLikesAndCommentsNotifications", function(request, response) {
    var currentUser = Parse.User.current();

    var query3 = new Parse.Query("Posts"); 
    query3.equalTo("driver", currentUser); 

    var query4 = new Parse.Query("Posts");
    query4.equalTo("passengers", currentUser.get("objectId")); 

    var main2 = new Parse.Query.or(query3, query4); 

    var main3  = new Parse.Query("Comments"); 
    main3.matchesKeyInQuery('postId', 'objectId', main2);

    var main4 = new Parse.Query("Comments"); 
    main4.equalTo("commentBy", currentUser); 

    var activityQuery = new Parse.Query.or(main3, main4); 
    activityQuery.include("commentBy");
    activityQuery.limit(15); 

   activityQuery.find({
      success: function(results) {
          response.success(results);
       },
      error: function(error) 
      {
        response.error(error);
      }
    });
});

0 ответов

Другие вопросы по тегам