Порядок исполнения в цикле - PullRequest
0 голосов
/ 05 октября 2018

Я использую эту функцию, чтобы получить некоторую информацию из 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);
  });
}
...