Is there some reason you can't use the "end" event? (I'm assuming you are
using https://github.com/Gagle/Node-BufferedReader)
.on("end", function (){ console.log(hash); })
On Thursday, January 17, 2013 4:15:13 PM UTC-6, Jean-Michel Hiver wrote:
>
> Hello,
>
> I getting started with node.js and its asynchronous nature is making me
> wonder how to solve this problem.
>
> Consider the following piece of code:
>
> =======================
> var fs = require('fs');
> var reader = require ("buffered-reader");
> var DataReader = reader.DataReader;
>
> function test() {
> var hash = [];
> new DataReader ("./sunrise.csv", { encoding: "utf8" })
> .on ("eof", function() {
> console.log(hash);
> })
> .on ("line", function (line){
> var reg = new RegExp(";", "g");
> var fields = line.split(reg);
> var value = fields[0];
> var key = fields[1];
> hash[key] = value;
> console.log (hash[key]);
> })
> .read ();
> console.log(hash);
> }
>
> test();
> =======================
>
> console.log(hash) displays [], most probably because it gets executed
> before the ".on ("line", function (line){...}" piece...
>
> Could you let me know how to tell it to wait? What I want to do ultimately
> is load a bunch of files into an associative array and ONLY THEN do
> something with it.
>
> Any insights would be very much appreciated.
>
> Cheers
> JM
>
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en