几个小时都在寻找解决方案并且几乎没有运气。我只是没有看到关于Parse Config问题的大量文档。至少有解决方案,因为我尝试了我能找到的一切。
所以基本上我在某人保存状态为"拒绝的对象时尝试设置默认图片。"
首先我要看这个:Set default profile picture for parse signup
这就是我得到的。
//Accepts/denies picture request
Parse.Cloud.afterSave("Requests", function(request) {
var toUserId = request.object.get("to").id;
var fromUserId = request.object.get("from").id;
var toUser = null;
var fromUser = null;
var status = request.object.get("status");
if (status === "accepted") {
.....
} else if (status === "denied") {
Parse.Config.get().then(function(config) {
request.object.set('photo', config.get("denied"));
}).then(function() {
console.log('Success: Denied photo set.');
}, function(error) {
console.log('error: denied photo not set');
});
} else if (status === "waiting") {
....
}
});
我每次都获得成功,但我没有得到任何照片文件。我被卡住了,不知道还有什么可以做的。状态更改为正确拒绝,但我没有任何内容显示为照片中的文件,保留为未定义..
I2015-08-24T01:54:09.837Z]v46 after_save triggered for Requests for user oE3FhNfyWW:
Input: {"object":{"createdAt":"2015-08-24T01:54:03.398Z","from":{"__type":"Pointer","className":"_User","objectId":"odv4R9OWso"},"objectId":"InB8Iods8U","status":"denied","to":{"__type":"Pointer","className":"_User","objectId":"oE3FhNfyWW"},"updatedAt":"2015-08-24T01:54:09.834Z"}}
Result: Success
I2015-08-24T01:54:09.973Z]Success: Denied photo set.
答案 0 :(得分:1)
我注意到代码没有说request.object.save()
,这可能解释了为什么稍后检查后对象没有改变的原因。
但保存似乎很奇怪,因为此功能在保存后运行 。那要么浪费,要么无限循环。由于目标是修改request.object(刚刚保存的对象),然后在beforeSave()
上执行此操作。
请务必在response.success()
结束时致电.error()
或beforeSave()
。