【问题标题】:Can't Push Results to JavaScript Dictionary [duplicate]无法将结果推送到 JavaScript 字典 [重复]
【发布时间】:2017-12-03 13:52:39
【问题描述】:

我正在使用google trends API 最终将趋势数据导出到 Excel 文件。问题是我只想提取我的关键字的格式化时间和值。虽然我试图这样做,但我也注意到 results 没有被正确拉动。例如,当我尝试将 API 中的结果推送到空字典时,我继续得到一个空数组。

有什么想法吗?

谢谢。

'use strict';

const googleTrends = require('google-trends-api');

var something = [];    

    googleTrends.interestOverTime({
        keyword: 'animals',
        startTime: new Date(Date.now() - (1 * 60 * 60 * 1000)),
        granularTimeResolution: true,
    }, function(err, results) {
        something.push(results);
        if (err)
            console.log('oh no error!', err);
        else
            console.log("--------------------------")

    });

console.log(something);

提取数据示例:

{
  "default": {
     "timelineData":[
       {
         "time":"1511629200",
         "formattedTime":"Nov 25, 2017 at 12:00 PM",
         "formattedAxisTime":"Nov 25 at 12:00 PM",
         "value":[44],
         "formattedValue":["44"]
       },
       {
         "time":"1511632800",
         "formattedTime":"Nov 25, 2017 at 1:00 PM",
         "formattedAxisTime":"Nov 25 at 1:00 PM",
         "value":[41],
         "formattedValue":["41"]
       }
     }]
   }
}

【问题讨论】:

    标签: javascript arrays dictionary push


    【解决方案1】:

    您对 Google 的调用是异步的,因此您需要在将结果推送到 something 的回调中注销您的结果。否则,您的 console.log(something) 实际上在您的回调完成之前运行,并且尚未将任何值推送到您的数组中。

    'use strict';
    
    const googleTrends = require('google-trends-api');
    
    var something = [];    
    
    googleTrends.interestOverTime({
        keyword: 'bitcoin',
        startTime: new Date(Date.now() - (1 * 60 * 60 * 1000)),
        granularTimeResolution: true,
    }, function(err, results) {
        something.push(results);
        if (err)
            console.log('oh no error!', err);
        else{
            console.log(something);
            console.log("--------------------------")
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2017-10-09
      相关资源
      最近更新 更多