因此,我正在使用requireAuth()
中的firebase
来开发使用原因gulpJs
,angularJs
和Firebase
的Web应用程序。我对这三件事很陌生。 requireAuth()
方法在我的应用程序中效果很好,可以在线搜索内容,遇到了$waitForAuth()
,但我仍然找不到区别。从名称上,您将等待认证,但requireAuth()
(显然也会等待吧?)。什么时候最适合使用$waitForAuth()
,什么时候最适合使用requireAuth()
。
myApp.factory('Authentification', function($firebase, $firebaseObject, $firebaseAuth, $routeParams, $location, FIREBASE_URL){
//not posting the other parts of the code since they are not needed in this case
var ref = new Firebase(FIREBASE_URL);
var auth = $firebaseAuth(ref);
var mytempObj = {
requireAuth: function() {
return auth.$requireAuth();
},
waitAuth: function(){
return auth.$waitForAuth();
}//wait for user to be authenticated
}
return mytempObj;
}
最佳答案
$waitForAuth()
将等待承诺解决,并且将不需要用户实际登录。这在您要检查用户是否已登录然后进行相应操作时非常有用。$requireAuth()
将要求用户登录,否则承诺将被拒绝。对于保护用户需要登录的路由很有用。