次のコードは、ブラウザにindex.htmlの内容(テキストのhelloワールドのみを含む)を出力します。しかし、readFileをreadFileSyncに置き換えると、要求がタイムアウトします。私は何が欠けていますか?別のバッファが必要ですか?私は、ノード0.61を使用し、2.4readFileとreadFileSyncの相違点
var express = require('express');
var fs = require('fs');
var app = express.createServer(express.logger());
app.get('/', function(request, response) {
fs.readFile('index.html', function(err, data){
response.send(data.toString());
});
});
var port = process.env.PORT || 5000;
app.listen(port, function() {
console.log("Listening on " + port);
});
は、あなたが送信し終わったら '.ENDを()'を呼び出すことになっていませんか? NodeJSを使用してからしばらく時間がかかりました。 –
'readFileをreadFileSync'に置き換えるとどういう意味ですか?最初のものはコールバックを必要とし、もう一方はコールバックを必要とします。コードは 'var data = fs.readFileSync( 'index.html');'でなければなりません。 'readFileSync'はそれを使用しないので、コールバックは呼び出されません。それがタイムアウトの原因です。私はそれを正しく理解していると仮定します。 – freakish
@CrazyTrain彼はエクスプレスを使用しています。それはあなたのためにそれを行います。 – freakish