2
我在我的角度,应用火力地堡。一旦():用成功和失败回调
$scope.retrieveProjectData = function() {
$scope.projectNumberNoChange = false;
// Only retrieve Data if the ProjectNumber changed
if (currentlySelectedProjectNumber != $scope.feedback.projectNumber.content) {
currentlySelectedProjectNumber = $scope.feedback.projectNumber.content;
// Go to database-reference based on the projectNumber
var projectsRef = firebaseDatabaseRef.child("projects");
var currentChild = projectsRef.child(currentlySelectedProjectNumber);
// retrieve data once and fill $scope.feedback
currentChild.once("value",
// If the project is found
function (dataSnapshot) {
// Fill selectedProject and hand over to writeDataFromSelectedProject()
var selectedProject = dataSnapshot.val();
// Fill $scope.feedback
writeDataFromSelectedProject(selectedProject);
},
// If no data is found
function() {
console.log("No data found");
});
}
// If the projectNumber didn't change, the projectNumberNoChangeMessage will be shown
else {
$scope.projectNumberNoChange = true;
}
};
用户有关于他的项目数(比如加载一些数据的可能性以下功能:名称,电子邮件,电话),以使用户填写表格的速度更快。
在部分:
currentChild.once("value",
// If the project is found
function (dataSnapshot) {
// Fill selectedProject and hand over to writeDataFromSelectedProject()
var selectedProject = dataSnapshot.val();
// Fill $scope.feedback
writeDataFromSelectedProject(selectedProject);
},
// If no data is found
function() {
console.log("No data found");
});
只有第一个回调函数被调用,即使projectNumber没有被发现。如何使用所述的“failureCallbackOrContext”?
感谢您花时间!
基于文档,我认为错误回调是在发生错误时调用的,更确切的说如果你的客户端没有读取数据的权限**这个回调函数将传递一个Error对象,指出为什么失败发生。否则,如果你可以阅读,但你的查询不返回任何对象,它不被视为失败。 –