0

私はnode.jsで動作するようにjavascriptを学ぼうとしていますが、明らかに閉鎖がうまくいきません。ファイルを1行ずつ読み取り、行を解析し、結果を配列に入れて配列を返そうとしています。これが私が持っているものです(まったく機能しません):

var fs = require('fs'), Lazy = require('lazy');

function parseMyFile (filename) {
    var myArray= [];
    var lazy = new Lazy (fs.createReadStream(filename));

    lazy
        .lines
        .map(function(line){
            var parts = line.toString().split('|');

            var item = {
              bucket:   parts[1],
              uri:      parts[2].substring(2),
              token:    parts[0],
              fileDate: parts[3]
           };          

           myArray.push (item);
        });

     console.log(myArray);  // empty

         return myArray;
};


var myItems = parseMyFile ('Tokens.csv');

これは閉鎖と関係があると確信していますが、完全には理解できません。どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

1

これは遅延リストです。これは、非同期動作のラッパーです。リストが入力される前にリストを調べようとしているので、もちろんうまくいきません。

問題は閉鎖とは何の関係もありません。それはすべて非同期動作に関するものです。

一般的な「終了時」コールバックを許可する遅延リスト コードには何も表示されません。

于 2012-08-07T13:11:33.663 に答える