因此,我正在使用requireAuth()中的firebase来开发使用原因gulpJsangularJsFirebase的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()将要求用户登录,否则承诺将被拒绝。对于保护用户需要登录的路由很有用。

10-08 14:55