Im комбинирование 2 обещаний, но не работает, в службе у меня есть 2 метода, где метод «UserService.getAuthenticatedUser()» получает текущую информацию пользователя, а не «UserService.getAccountTypeData (idUser) ", где получает информацию о типе пользователя, но чтобы перейти ко второму методу, мне нужен идентификатор пользователя, поэтому сначала я вызываю« UserService.getAuthenticatedUser() », получаю идентификатор, а не вызываю« UserService.getAccountTypeData (idUser) », , но не работает.Сочетание двух обещаний в angularjs
function isAccount(accountName) {
UserService.getAuthenticatedUser()
.then(function (response) {
var userDetails = response.data;
});
UserService.getAccountTypeData(idUser)
.then(function (response) {
var userDetails = response.data;
return userDetails;
});
}
PS: Я уже ввел услугу ...
Спасибо Steam, только один вопрос, правильно ли это вложение? 'Code' UserService.getAuthenticatedUser() .then (функция (ответ) { вар UserDetails = response.data; UserService.getAccountTypeData (idUser) \t \t .then (функция (ответ) { \t \t вар UserDetails = response.data; \t \t возвратные UserDetails; \t \t}); }); 'code' –
@MarcoPereira вложенности будет работать так же хорошо, просто убедитесь, что вы ссылки определенные переменные. В приведенном вами комментарии 'idUser' не существует. Я предполагаю, что это будет происходить из вашего первого экземпляра 'userDetails'. – SteamDev
@MarcoPereira, вы еще не определили 'idUser', но в противном случае было бы принципиально одинаковым – charlietfl