Đoạn mã sau xuất ra nội dung của index.html (nó chỉ chứa thế giới hello văn bản) cho trình duyệt. Tuy nhiên, khi tôi thay thế readFile bằng readFileSync, yêu cầu sẽ hết thời gian. Tôi đang thiếu gì? Là một loại khác nhau của bộ đệm cần thiết? Tôi đang sử dụng nút 0,61 và bày tỏ 2,4Sự khác biệt giữa readFile và 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);
});
Không phải bạn phải gọi 'END() 'khi bạn hoàn tất việc gửi? Đã lâu rồi kể từ khi tôi sử dụng NodeJS. –
Ý của bạn là gì khi 'khi tôi thay thế readFile bằng readFileSync'? Người đầu tiên yêu cầu gọi lại trong khi người kia thì không. Mã phải là 'var data = fs.readFileSync ('index.html');'. Gọi lại không bao giờ được gọi, bởi vì 'readFileSync' không sử dụng nó. Đó là nơi thời gian chờ xuất phát. Giả sử tôi hiểu nó một cách chính xác. – freakish
@CrazyTrain Anh ấy đang sử dụng Express. Nó làm điều đó cho bạn. – freakish