javascript - 无法将结果推送到 JavaScript 字典

标签 javascript arrays dictionary push

我正在使用google trends API最终将趋势数据导出到 Excel 文件。问题是我只想提取关键字的 formattedTime 和值。虽然我尝试这样做,但我也注意到 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"]
       }
     }]
   }
}

最佳答案

您对 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("--------------------------")
    }
});

关于javascript - 无法将结果推送到 JavaScript 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619080/

相关文章:

javascript - 记录未按时加载以计算组件中的属性?

javascript - 如果没有 $scope.digest,$watch 不会触发

javascript - 执行异步调用以从 Protractor 内的 REST 端点获取测试数据的正确方法?

javascript - 循环显示分层数据

javascript - 检查数组是否包含字符串的一部分并找到索引号

iphone - 在字典中存储整数

java - 使用 Java Stream API 将 Map<K, Map<V, X>> 中的类型 X 转换为 Y

javascript - 为对象创建跳跃效果

c++ - 与顺序索引相比,随机索引数组是否会对性能产生影响?

Python-如何比较字典列表上 FOR 循环中 IF 语句中的键值?