【发布时间】:2016-08-24 04:57:44
【问题描述】:
我在 Parse Cloud Code 中创建了一个后台作业,它根据我的 Parse 类中的一个日期发送电子邮件通知。
思路如下:查询包含日期的类。遍历返回的每个对象并检查日期字段。如果日期等于今天,则发送电子邮件通知,将日期更改为 null 并将其保存回 Parse。
但是,似乎并非所有对象都保存回 Parse。我怀疑这是我的承诺链的问题,但我很难诊断出确切的问题或如何解决它。下面是相关代码
Parse.Cloud.job("job", function(request, status) {
// Query for all users
var query = new Parse.Query(className);
query.each(function(object) {
if (condition) {
object.set(key, false);
object.save(null, {
success:function(object){
// This never executes!
},
error: function(error){
}
}).then(function(){
// This never executes
console.log("Save objects successful");
},
function(error){
status.error("Uh oh, something went wrong saving object");
});
// Set hiatus end successful
Mailgun.sendEmail({
});
}
});
});
objects.save() 承诺链中的这一行 console.log("Save objects successful"); 永远不会被执行 - 即使订阅对象成功保存到 Parse。
此外,如果查询返回的对象超过 5 个,则只有前 5 个成功保存回 Parse。不会执行任何额外的保存,也不会发送电子邮件通知。
【问题讨论】:
标签: javascript parse-platform promise parse-cloud-code