Parse platform 解析-在保存之前从指针获取对象?
我有一个发送到服务器的Offer对象,当这个Offer即将创建时,我需要向用户发送推送通知。要约有一个指向用户的指针,该字段称为“to” 如何从指针获取对象?Parse platform 解析-在保存之前从指针获取对象?,parse-platform,Parse Platform,我有一个发送到服务器的Offer对象,当这个Offer即将创建时,我需要向用户发送推送通知。要约有一个指向用户的指针,该字段称为“to” 如何从指针获取对象? Parse.Cloud.beforeSave("Request", function(request, response) { var userQuery = new Parse.Query("User") userQuery.get(request.object.get("to").id, { suc
Parse.Cloud.beforeSave("Request", function(request, response) {
var userQuery = new Parse.Query("User")
userQuery.get(request.object.get("to").id, {
success: function (user) {
console.log("user: ", user);
var installationQuery = new Parse.Query("Installation");
installationQuery.equalTo("user", user);
Parse.Push.send({
where : installationQuery,
data : {
alert : "HEllo"
},
success : function() {
},
error : function() {
console.log("error finding installation: " + error);
}
});
},
error : function (error) {
console.log("ERRRRRRRRRR");
}
});
response.success();
});
要直接回答问题,可以使用或检索对象 我假设您看到的问题是对象保存了,但是推送通知没有发生。原因是您没有在调用response.success()并返回之前等待get()完成 这里有两种方法可以调和这一点: 您的现有代码,但已将response.success()上移: Parse.Cloud.beforeSave(“请求”,函数(请求,响应){ 简化为 进一步简化。如果您没有在用户中使用数据,那么您不需要获取数据来传递指向查询的指针
Parse.Cloud.beforeSave("Request", function(request, response) {
var installationQuery = new Parse.Query("Installation");
installationQuery.equalTo("user", request.object.get("to"));
return Parse.Push.send({
where : installationQuery,
data : {
alert : "HEllo"
}
}).then(function() {
response.success();
}, response.error);
});
要直接回答问题,可以使用或检索对象 我假设您看到的问题是对象保存了,但推送通知没有发生。原因是您没有在调用response.success()并返回之前等待get()完成 这里有两种方法可以调和这一点: 您的现有代码,但已将response.success()上移: Parse.Cloud.beforeSave(“请求”,函数(请求,响应){ 简化为 进一步简化。如果您没有在用户中使用数据,那么您不需要获取数据来传递指向查询的指针
Parse.Cloud.beforeSave("Request", function(request, response) {
var installationQuery = new Parse.Query("Installation");
installationQuery.equalTo("user", request.object.get("to"));
return Parse.Push.send({
where : installationQuery,
data : {
alert : "HEllo"
}
}).then(function() {
response.success();
}, response.error);
});
谢谢你的回答,我相信我已经尝试了代码的最后一部分,但它不起作用,我想这是因为查询结果是空的。我回家后会再试一次,并发布回复。谢谢你的回答,我相信我已经尝试了代码的最后一部分,但它不起作用,我想这是因为查询结果是空的。我回家后会再试一次,并会发布回复。
Parse.Cloud.beforeSave("Request", function(request, response) {
var installationQuery = new Parse.Query("Installation");
installationQuery.equalTo("user", request.object.get("to"));
return Parse.Push.send({
where : installationQuery,
data : {
alert : "HEllo"
}
}).then(function() {
response.success();
}, response.error);
});