我的脚本具有如下登录用户的功能:
class myClient {
SignIn() {
this._userManager.signinRedirect();
this._userManager.processSigninResponse().then(function (response) {
manager._userManager.getUser().then(function (user) {
manager._loggedUser = user;
});
})
}
}
如您所见,有两个嵌套的 Promise。用户只有在解决了最里面的承诺后才登录系统(即manager._loggedUser = user
:)
现在,我希望我的班级只公开两种方法:SignIn() [如上所述] 和 GetUserInfo():
GetUserInfo() {
// ...
return this._loggedUser;
};
因此,任何使用我的班级的人都只需要按照以下步骤来获取登录的用户个人资料:
- 创建对象
- 调用登录方法
- 获取用户信息
我如何“同步”第二步和第三步,以确保在首先调用 signin() 方法和之后调用 GetUserInfo() 后 _loggedUser 不为空?