在我的angularjs项目中,我有两个promise函数getToken()
和getUser(token)
。
我可以运行两个这样的操作:
$q.all({token: getToken(), userId: getUserId()})
.then(function(resolutions){
var token = resolutions.token;
var userId = resolutions.userId;
});
但是我的getUserId()
方法使用令牌作为参数。因此,我需要先获取令牌,然后获取userId并返回令牌和userId。如何使用$q
来做到这一点?
我使用了这样的摩擦:
return getToken().then(function(token){
return getUserId(token).then(function(userid){
return {token: token, userid: userid};
})
})
但是没有用,userid为null。
答案 0 :(得分:0)
您可以像以下那样链接承诺
getToken()
.then(function(token){
return getUser(token)
.then(function(userId){
return {token, userId};
})
})