我正在尝试通过Angular使用Google AnalyticsAPI。我先加载分析脚本
<script src="https://apis.google.com/js/client.js"></script>
然后我console.log
api脚本创建的全局gapi
变量。这将返回我期望的对象,具有auth
属性。但gapi.auth
显示为undefined
。
当我使该功能等待两秒钟虽然它按预期运行时。这说明了会发生什么:
然而,即使在第一个对象中,所有属性都存在:
为什么后一个有预览而前一个没有预览?我想象这与为什么我只能在2秒后访问他们的属性有关。
更新:
我已经在我的脚本顶部添加了此检查器,以等待gapi.auth
加载...但它永远不会完成:
while (gapi.auth === undefined) {
console.log("Still undefined");
}
console.log(loaded now");
答案 0 :(得分:0)
console.log函数不会立即评估作为参数给出的对象。仅在日志窗口中查看或展开对象时才会对其进行评估。因此,如果您的对象在时间上改变了它的属性。首次打开日志并尝试展开对象时,您将看到对象的快照。这就是为什么当你太早打开它时,你会看到一个空物体。