gpt4 book ai didi

javascript - 在 AngularJS 中结合 2 个 Promise

转载 作者:行者123 更新时间:2023-12-02 14:24:00 24 4
gpt4 key购买 nike

我结合了2个 promise ,但不起作用,在一个服务中我有2个方法,其中方法“UserService.getAuthenticatedUser()”获取当前用户信息,然后有一个“UserService.getAccountTypeData(idUser)”,其中获取用户类型信息,但要达到第二种方法,我需要 userID,所以基本上首先我调用“UserService.getAuthenticatedUser()”,获取 id,然后调用“UserService.getAccountTypeData(idUser)”,但不起作用。

 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:我已经注入(inject)了服务...

最佳答案

您可以通过从 .then() 函数返回值来链接您的 Promise。

function isAccount(accountName) {
return UserService.getAuthenticatedUser(accountName) // pass in accountName argument?
.then(function(response) {
var userDetails = response.data;
return userDetails.Id; // user id value
})
.then(UserService.getAccountTypeData) // userDetails.Id gets passed to getAccounttypeData method
.then(function(response) {
var userDetails = response.data;
return userDetails;
});

}

// usage
isAccount('AccountA').then(function(userDetails) {
// do something with userDetails
});

关于javascript - 在 AngularJS 中结合 2 个 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com