kodunda zaman uyumsuz olarak yürütme Angular.js'yi kullanmayı öğreniyorum ve REST benzeri bir API kullanarak kendi kimlik doğrulama kodumu yazmayı denedim. Aşağıda kimlik doğrulama servisimin kodu yer almaktadır.JavaScript
signIn
işlevimle ilgili sorun, api'mim HTTP 200
döndüğünde bile her zaman false döndürmesidir. Bir süre sonra, javascript'inifadesinin response = res.data.key;
ifadesinden önce yürütüldüğünden dolayı eşzamanlı doğasından kaynaklandığını anladım.
Ödev tamamlandıktan sonra return ifadesini nasıl uygulayacağımı bilmiyorum (yanıt HTTP 200
ise). Bunu nasıl yaparım?
angular.module('app').factory('auth', ['Base64', '$http', function(Base64, $http) {
return {
signIn: function(email, password) {
var response = false;
var encoded = Base64.encode(email + ':' + password);
$http.defaults.headers.common.Authorization = 'Basic ' + encoded;
$http.post('api/v1/sign_in', {}).then(function(res) {
if (res.status == 200) {
response = res.data.key;
}
});
return response;
}
}
}]);