2
我已經在Parse Cloud Code中創建了後臺作業,它根據我的一個Parse類中的日期發出電子郵件通知。解析JavaScript SDK和Promise鏈接
這裏的想法:查詢包含日期的類。迭代每個返回的對象並檢查日期字段。如果日期等於今天,請發送電子郵件通知,將日期更改爲空並將其保存回分析。
但是,似乎並非所有對象都保存回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({
});
}
});
});
此行console.log("Save objects successful");
在objects.save()承諾鏈就都不曾執行 - 即使在認購對象保存成功解析。
此外,如果查詢返回的對象超過5個,則只有前5個對象成功保存回Parse。任何額外的保存都不會執行,並且不會發送電子郵件通知。
爲什麼'返回Parse.Promise.when(savePromises);'在'.each()'回調中? –
@ Roamer-1888,謝謝。修復。 – danh