由于某种原因,我无法访问我对象的数组值

时间:2018-05-12 23:20:41

标签: javascript json

我有一个对象,我想记录values数组但是当我这样做时,数组是空的。那是为什么?

var data = {"values" : []};
   Papa.parse('data.csv', {
    header: true,
    download: true,
    newline: "\n",
    quoteChar : '',
    escapeChar : '',
    chunk: function(results) {
            data.values.push(results.data);
    },
});
console.log(data);
console.log(data.values.length); // 0
console.log(data.values[0]); // undefined

1 个答案:

答案 0 :(得分:2)

Papa.parse是异步的;目前,只有在您发送解析CSV 的命令后,才会记录数据,但响应尚未恢复;回调没有被触发。您需要添加complete处理程序as described in the docs

Papa.parse('data.csv', {
  header: true,
  download: true,
  newline: "\n",
  quoteChar : '',
  escapeChar : '',
  chunk: function(results) {
    data.values.push(results.data);
  },
  complete: function() {
    console.log('done');
    console.log(data.values[0]);
  }
});