nodejsを勉強します.calback、async i/o
1335 ワード
CALLBACK
Callbacks are functions that are executed asynch ronously、or at later time.Instead of the code reading top to bottom proceradully、async programs may execute different functions
例えば、非同期でファイルを読み、consoneで出力する:
入力ファイルの行数を返しますか?出力を:
指定されたパス(1番目のパラメータ)を印刷して、サフィックス(2番目のパラメータ)のすべてのファイル名を指定します.
program.js
Callbacks are functions that are executed asynch ronously、or at later time.Instead of the code reading top to bottom proceradully、async programs may execute different functions
例えば、非同期でファイルを読み、consoneで出力する:
var fs = require('fs');
//'readme.txt'
fs.readFile(process.argv[2], 'utf8', function callback(err, data) {
if(err !== true) {
console.log(data);
}
});
ファイルパスを最初のパラメータとして、shellで以下のコマンドで実行します.node program.js readme.txt
readFileの2番目のパラメータは「utf 8」出力がstringであり、このパラメータを追加しないと、calbackのdata値が一つのbufferに戻ります.入力ファイルの行数を返しますか?出力を:
console.log(data.split('
').length-1);
FILERED LS (nodeschool->learnounote)指定されたパス(1番目のパラメータ)を印刷して、サフィックス(2番目のパラメータ)のすべてのファイル名を指定します.
program.js
var fs = require('fs');
var file = process.argv[2];
var filter = process.argv[3];
//'readme.txt'
fs.readdir(file, function callback(err, list) {
if(err !== true) {
for(var i = 0; i < list.length; ++i)
{
// console.log(list[i]);
if( (list[i].split('.')[1]) && list[i].split('.')[1] === filter){
console.log(list[i]);
}
}
}
});