Parse platform 解析推送发送方法问题
我很难在下面的负载列表中循环,并为我的好友列表调用具有不同值的Parse.push.send方法。我相信我应该使用承诺,但我不知道如何去做。任何帮助都将不胜感激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.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});
回应。成功(“成功”);
}