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