auth0.js
有一个函数,用于解析URL哈希片段并从中提取验证结果。我将这个函数封装在名为loadSession
的函数中,如下所示:
public loadSession(): void {
this.auth0.parseHash((err, authResult) => {
if (authResult) {
window.location.hash = '';
localStorage.setItem('token', authResult.accessToken);
// TODO (1)
} else if (err) {
// TODO (2)
}
});
}
parseHash
将回调函数作为参数传递,而我无法控制它。我希望loadSession
返回一个Promise
,在上面的// TODO (1)
处解决并在// TODO (2)
处拒绝。这样我就可以使用obj.loadSession().then(() => { // do something if successful }).catch((err) => { // raise error if not })
。