javascript函数中的全局变量

时间:2013-02-12 15:46:25

标签: javascript node.js oop

这是我的代码:

var csv = require('csv');

var Loader = function() {
  var rows;
  csv()
  .from.path('./data/ebay.csv', {
    columns: true,
    delimiter: ';'
  })
  .to.array( function(rows) {
    setRows(rows);
  });
  function setRows(input) {
    rows = input;
  }
  return rows;
};

module.exports = Loader;

我想在调用rows对象时获得Loader。 我是OOP Javascript的初学者,所以我不知道该怎么做。我从哪里开始学习节点的javascript oop?我发现很多教程描述了如何从节点开始以及如何使用各种框架制作网页,但我已经知道了。我用PHP编程,现在转移到NodeJS,我浪费了。

1 个答案:

答案 0 :(得分:1)

与处理I / O的所有node.js函数一样,csv工作asynchronously。因此,调用csv.from..to..会立即返回,但回调函数仅在稍后调用。让你的Loader同步,如:

var csv = require('csv');
var Loader = function(onData) {
  csv()
  .from.path('./data/ebay.csv', {
    columns: true,
    delimiter: ';'
  })
  .to.array(onData);
};
module.exports = Loader;