我正在使用此功能从Google Analytics(分析)获取一些信息,并尝试将其粘贴在JS对象中,以便将其发送给用户。
我的问题是:console.log(obj)
在obj.push(tempObj);
之前执行。因此,当我尝试发送obj
时,发现它为空。
我尝试使用async.each()
和async.waterfall()
,但仍然遇到相同的问题。
function getJsonFileByUser2() {
authClient.authorize((err, tokens) => {
let dimensions, webproperties;
let accounts = getAccountsByUser();
let obj = [];
for (var i = 0; i < accounts.length; i++) {
let tempObj = {
account_id: accounts[i]["id"],
account_name: accounts[i]["name"],
webproperties: []
};
webproperties = getWebPropertyIdByAccount(accounts[i]["id"]);
for (let j = 0; j < webproperties.length; j++) {
dimensions = getDimensions(accounts[i]["id"], webproperties[j]["id"]);
tempObj.webproperties.push({
id: webproperties[j]["id"],
name: webproperties[j]["name"],
dimensions: dimensions
});
}
obj.push(tempObj);
}
console.log(obj);
});
}