对象没有推送到数组 - Javascript / NodeJS

时间:2017-05-15 20:55:10

标签: javascript arrays node.js push

尝试构建多维数组。将2个对象推送到数组后,控制台正在记录responses-all : [],当我希望它包含多个对象时。

当我在数据中记录数组时,控制台正确记录多维数组:

responses - gdax: [{
    bitstamp: {
      timestamp: '2017-05-15T16:41:07Z',
      error: '',
      data: [Object]
    }
  },
  {
    gdax: {
      timestamp: '2017-05-15T16:41:13Z',
      error: '',
      data: [Object]
    }
  }
]

但不是在脚本末尾记录responses-all时。

我也觉得奇怪的是控制台正在反向登录。 responses-all首先记录,然后responses-bitstamp,然后responses-gdax,而实际上我在代码中按相反顺序记录它们。

以下是完整代码:

router.get('/cryptox', function(req, res) {
  var responses = [];

  var Cryptox = require("cryptox");

  var gdax = new Cryptox("gdax");
  var bitstamp = new Cryptox("bitstamp");

  gdax.getTicker({
    pair: "BTC_USD"
  }, function(err, ticker) {
    if (!err)

      responses.push({
        'gdax': ticker
      });
    console.log('responses-gdax : ' + util.inspect(responses));

  });

  bitstamp.getTicker({
    pair: "BTC_USD"
  }, function(err, ticker) {
    if (!err)

      responses.push({
        'bitstamp': ticker
      });
    console.log('responses-bitstamp : ' + responses);

  });
  res.json(responses);
  console.log('responses-all : ' + util.inspect(responses)); //responses-all : []
});

0 个答案:

没有答案