0
我正在編寫一個雲代碼函數,用於在刪除對象後運行許多任務。 我怎樣才能做到這一點乾淨,沒有嵌套?對雲代碼的承諾
您可以並行運行任務,或者最好讓它們按順序執行?如果是這樣,怎麼樣?
這是我的代碼,你能幫我清理/更改嗎?
Parse.Cloud.afterDelete("Photo", function(request) {
Parse.Cloud.useMasterKey();
//delete all related activities
var queryAct = new Parse.Query("Activity");
queryAct.equalTo("photo",{
__type: "Pointer",
className: "Photo",
objectId: request.object.id
});
queryAct.limit(1000);
queryAct.find({
success: function(activities) {
Parse.Object.destroyAll(activities, {
success: function() {
//delete all related hashtags
var queryTags = new Parse.Query("hashTags");
queryTags.equalTo("photo",{
__type: "Pointer",
className: "Photo",
objectId: request.object.id
});
queryTags.limit(1000);
queryTags.find({
success: function(hashtags) {
Parse.Object.destroyAll(hashtags, {
success: function() {},
error: function(error) {
console.error("Error deleting related hashtags " + error.code + ": " + error.message);
}
});
},
error: function(error){
console.error("Error finding related hashtags " + error.code + ": " + error.message);
}
});
},
error: function(error) {
console.error("Error deleting related activities " + error.code + ": " + error.message);
}
});
},
error: function(error) {
console.error("Error finding related activities " + error.code + ": " + error.message);
}
});
});
謝謝大家!
你好,謝謝你的回覆,非常有用! 我有一個問題:在最後一步,你可以解釋。然後,當?沒有定義完成,因爲我稱之爲? – milonet
現在修復它,它只是一個日誌說,當兩個承諾完成時「完成」 – knshn