2014-06-26 15 views
20

Tôi đang cố gắng tìm hiểu node.js.Có thể nối ống đến console.log không?

Tôi đang cố gắng hiểu luồng và đường ống.

Có thể gửi phản hồi của yêu cầu http đến console.log không?

Tôi biết cách thực hiện điều này bằng cách liên kết trình xử lý với sự kiện dữ liệu nhưng tôi quan tâm hơn đến việc truyền trực tuyến đến bảng điều khiển.

http.get(url, function(response) { 
    response.pipe(console.log); 
    response.on('end', function() { 
    console.log('finished'); 
    }); 
}); 

Cảm ơn

Trả lời

42

console.log chỉ là một chức năng mà ống dòng quá trình để một đầu ra.

Lưu ý rằng sau đây là ví dụ mã

console.log = function(d) { 
    process.stdout.write(d + '\n'); 
}; 

Piping để process.stdout thực hiện chính xác những điều tương tự.

http.get(url, function(response) { 
    response.pipe(process.stdout); 
    response.on('end', function() { 
    console.log('finished'); 
    }); 
}); 

Lưu ý bạn cũng có thể làm

process.stdout.write(response); 
+1

Đây chính là điều tôi muốn biết, nhờ – spinners

+4

FWIW, process.stdout là một dòng ghi và như vậy không phát ra 'kết thúc' Hơn nữa, bởi vì của tình trạng đặc biệt của nó nó không phát ra 'kết thúc' eitgher. – Blago

+0

Điều này không hoạt động đối với tôi '' 'UnhandledPromiseRejectionWarning: Từ chối lời hứa bị từ chối (từ chối id: 1): TypeError: Dữ liệu không hợp lệ, đoạn phải là chuỗi hoặc bộ đệm chứ không phải đối tượng''' – Tyguy7

Các vấn đề liên quan