У меня проблема с методом Array.prototype.find()
.Кажется, он не работает должным образом, когда используется в $http request..
. Я перепробовал все, что пришло в голову, но всегда возвращает undefined.Я предполагаю, что ошибка есть, потому что я зарегистрировал response.data
и user_to_find
до определения found_user
, и их значения соответствуют ожиданиям.
Итак, у меня есть этот сервис:
app.service('UserService', ['$http','$q', function($http, $q) {
return {
findUser: function(user_to_find) {
let defer = $q.defer();
$http({
method: "GET",
url: 'http://localhost:3000/users'
}).then(function(response){
let found_user = response.data.find(acc=>{ //found_user is always undefined
acc.username == user_to_find;
})
defer.resolve(found_user);
}),function(response) {
defer.reject(response);
console.log("Error finding user");
}
return defer.promise;
}
}
}])