2015-12-23 2 views
-2

Я пытаюсь получить доступ к переменным электронной почты и пароля внутри функции createLocalAccount, как я могу это сделать, поддерживая структуру кода?Область действия внутри var

var createLocalAccount = function(response) { 
    return localDb.put('login', { 
     uid: response.uid, 
     email: email, 
     password: password 
    }); 
}; 

this.createAccount = function(firstName, lastName, email, password) { 
    var deferred = $q.defer(); 
    createAccount(email, password) 
     .then(createLocalAccount); 
    return deferred.promise; 
} 

ответ

1

передать его функции:

var createLocalAccount = function(email, password, response) { 
    return localDb.put('login', { 
     uid: response.uid, 
     email: email, 
     password: password 
    }); 
}; 

this.createAccount = function(firstName, lastName, email, password) { 
    return createAccount(email, password) 
     .then(function(response) { 
      return createLocalAccount(email, password, response); 
     }); 
} 
+0

Вы можете избавиться от 'deferred' и просто вернуть обещание, что вызов' Createaccount(), а затем() 'возвращает.. – idbehold