我正在尝试检查用户是否已登录,但我得到的结果非常不一致,似乎涉及某种竞争条件。我基本上拿了代码谷歌开发者网站:
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: 'my_client_id.apps.googleusercontent.com',
});
console.log(auth2.isSignedIn.get());
setTimeout(function(){console.log(auth2.isSignedIn.get())},50);
setTimeout(function(){console.log(auth2.isSignedIn.get())},500);
setTimeout(function(){console.log(auth2.isSignedIn.get())},1000);
});
出于某种原因,前两个返回 false,第二个返回 true。我已经仔细检查过,并且我已登录,所以前两个似乎应该返回 true。我想念她什么?我查看了文档,似乎没有任何迹象表明发生了异步事件,而且我不确定在从isSignedIn
调用中获得可靠结果之前我应该等待什么。