Poniższy kod wyświetla zawartość pliku index.html (zawiera tylko tekst hello world) w przeglądarce. Jednak, gdy zamieniam readFile na readFileSync, czas oczekiwania na żądanie. czego mi brakuje? Czy wymagany jest inny rodzaj bufora? Używam węzeł 0,61 i wyrazić 2,4Różnica między plikiem readFile i 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);
});
Czy nie powinien nazywać '.END()' kiedy skończysz wysyłanie? Minęło trochę czasu odkąd użyłem NodeJS. –
Co masz na myśli przez 'kiedy zamieniam readFile na readFileSync'? Pierwszy wymaga wywołania zwrotnego, a drugi nie. Kod powinien mieć postać 'var data = fs.readFileSync ('index.html');'. Wywołanie zwrotne nigdy nie jest wywoływane, ponieważ 'readFileSync' go nie używa. Stąd pochodzi limit czasu. Zakładając, że rozumiem to poprawnie. – freakish
@CrazyTrain Używa Express. Robi to za ciebie. – freakish