У меня есть служба, которая вызывает URL-адрес для получения сведений о пользователе.AngularJS разрешает запрос AJAX с произвольными данными без вызова AJAX
...
this.getUserDetail = function (userId) {
// deal cache
var request = $http({
method: "get",
url: "https://stackoverflow.com/users/"+userId
});
return request.then(successFn, errorFn);
};
Но в другом месте я также получаю информацию о пользователе и создаю карту новых пользователей. Я хочу повторно использовать уже загруженного пользователя из моего объекта JavaScript.
this.getUserDetail = function (userId) {
if (userMap[userId]) {
return $q.resolve({
'result': userMap['userId']
});
}
var request = $http({
method: "get",
url: "https://stackoverflow.com/users/"+userId
});
return request.then(successFn, errorFn);
};
Но это не сработает. Я включил $q
. Я не получаю ошибки JavaScript, за исключением того, что в том месте, где я использую this.getUserDetail(userId).then(...
, он выдает ошибку, так как я могу не возвращать succesFn
из того, как я это делаю.
Я делаю это правильно?
Я не кэширую данные таким образом. У меня есть другой вызов AJAX, который заполняет объект. Я хочу использовать данные этого объекта как ответ на мой вызов AJAX и «разрешить» мой запрос, используя данные этого объекта. – KingJulian