0
考慮以下(簡化的)代碼:(服務器端工作進程的任務,將結果寫入到另一個位置的數據庫,然後刪除對象)什麼可能會阻止發生「孩子剔除」事件?
var queueTask = function (taskObject) {
var deferred = $q.defer();
// Create new task reference & push new Task object to reference location
var newTaskRef = firebase.database().ref("task").push(taskObject);
newTaskRef.once('child_removed', function (snapshot) {
// SUCCESS
console.log("@DEBUG - TASK COMPLETE/CHILD REMOVED");
deferred.resolve(snapshot);
});
return deferred.promise;
};
任務對象被刪除,但child-removed
事件永遠不會觸發。
什麼可能會阻止child-removed
事件發生?
我最初的假設是,任務執行得太快。 – Lindauson
我已經將處理時間消除了一個因素:我爲任務工作者處理代碼添加了一個虛擬延遲,但結果相同:「on-removed」事件從不會觸發。 – Lindauson
此外,我已將任務添加到非根位置('.../queue/task /'),但這也未解決問題。 – Lindauson