Parse platform 解析推送发送方法问题

Parse platform 解析推送发送方法问题,parse-platform,Parse Platform,我很难在下面的负载列表中循环,并为我的好友列表调用具有不同值的Parse.push.send方法。我相信我应该使用承诺,但我不知道如何去做。任何帮助都将不胜感激 Parse.Cloud.define('senderChannel', function(request, response) { /* getting parameters */ var params = request.params; var senderId = params.senderId; var sha

我很难在下面的负载列表中循环,并为我的好友列表调用具有不同值的Parse.push.send方法。我相信我应该使用承诺,但我不知道如何去做。任何帮助都将不胜感激

Parse.Cloud.define('senderChannel', function(request, response) {
  /* getting parameters */  
  var params = request.params;
  var senderId = params.senderId;
  var sharedValue = params.sharedValueList;
  var recipientList = params.recipientList;
  var friendCount = params.friendCount;

  var pushQuery = new Parse.Query(Parse.Installation);
  pushQuery.equalTo("deviceType", "android");

  var payloadList = [];

  if(friendCount > 1) {
    /* if friendCount is greater than 1 build custom payload for each friend */   
    var friendList = recipientList.split(',');
    var valueList = sharedValue.split(',');

    var friendListArray = [];

    for(var item in friendList) {
        friendListArray.push(item);
    }

    for(var value in valueList) {
        var payload = {"title": senderId, "alert": value};
        payloadList.push(payload);
    }

    pushQuery.containedIn("device_id", friendListArray);

    } else {

        pushQuery.equalTo("device_id", recipientList);
        var payload = {"title": senderId, "alert": sharedValue};
        payloadList.push(payload);
   }

   payloadList.forEach(function(payload, index){
       /* Send push to every friend */
       Parse.Push.send({
           where: pushQuery,
           data: payload,
       }, { success: function() {
           console.log("#### PUSH OK");
       }, error: function(error) {
           console.log("#### PUSH ERROR" + error.message);
       }, useMasterKey: true});

       response.success('success');
   });
});

通过将push函数添加到数组中并使用Parse Promise,我已经能够解决我的问题。下面是代码

payloadList.forEach(函数(有效载荷、索引){
promises.push(发送推送(有效负载));
});
Parse.Promise.when(promises).then(function(){
log(“所有推送都已完成!!!”;
});
功能sendPush(payloadMessage){
Parse.Push.send({
其中:pushQuery,
数据:payloadMessage,
},{成功:函数(){
console.log(“按下OK”);
},错误:函数(错误){
log(“#####推送错误”+错误消息);
},useMasterKey:true});
回应。成功(“成功”);
}