UNPKG

learnyounode

Version:

Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.

22 lines (13 loc) 1.38 kB
Write a program that uses a single **asynchronous** filesystem operation to read a file and print the number of newlines it contains to the console (stdout), similar to running `cat file | wc -l`. The full path to the file to read will be provided as the first command-line argument. ---------------------------------------------------------------------- # HINTS The solution to this problem is *almost* the same as the previous problem except you must now do it **the Node.js way**: asynchronous. Instead of `fs.readFileSync()` you will want to use `fs.readFile()` and instead of using the return value of this method you need to collect the value from a callback function that you pass in as the second argument. To learn more about callbacks, check out: https://github.com/maxogden/art-of-node#callbacks. Remember that idiomatic Node.js callbacks normally have the signature: ```js function callback (err, data) { /* ... */ } ``` so you can check if an error occurred by checking whether the first argument is truthy. If there is no error, you should have your `Buffer` object as the second argument. As with `readFile()`, you can supply 'utf8' as the second argument and put the callback as the third argument and you will get a `String` instead of a `Buffer`. Documentation on the `fs` module can be found by pointing your browser here: {rootdir:/docs-nodejs/fs.html}