Các documentation for write() nói:Node.js' và sự kiện cống
Returns sai để cho biết rằng bộ đệm hạt nhân là đầy đủ, và các dữ liệu sẽ được gửi đi trong tương lai.
và tài liệu hướng dẫn cho sự kiện drain
nói:
Sau một phương pháp write() trở sai sự thật, sự kiện này được phát ra để cho biết rằng nó là an toàn để viết một lần nữa.
Điều đó có nghĩa là gì? Tôi có phải đợi sự kiện drain
trước khi tôi có thể viết lại không? Điều gì đã xảy ra với dữ liệu mà tôi đã cố gắng viết? Điều đó có bị mất không? Điều gì sẽ xảy ra khi tôi gọi viết mà không cần đợi sự kiện drain
?
gì sẽ xảy ra nếu bạn gọi 'process.exit() 'trong khi' res.write' vẫn đệm trong bộ nhớ sử dụng (tức là không được flushed đến bộ đệm hạt nhân)? Câu trả lời có bị mất không? – Emmett
@Emmett vâng, nếu bạn gọi 'process.exit()' trong khi có đệm ghi cuộc gọi còn lại để được flushed thì dữ liệu đó sẽ bị mất. – TooTallNate
Không hoàn toàn an toàn để gọi "write"() mà không quan tâm đến giá trị trả lại ". [Tài liệu hiện tại] (https://nodejs.org/dist/v8.4.0/docs/api/stream.html) nói: _ "Trong khi gọi' write() 'trên luồng không được thoát, Node Ngay cả trước khi nó hủy bỏ, sử dụng bộ nhớ cao sẽ gây ra hiệu suất thu gom rác kém và RSS cao (mà thường không được phát hành trở lại hệ thống, thậm chí sau khi bộ nhớ không còn cần thiết nữa. "_ Cũng thấy: https://stackoverflow.com/q/37579605 – TachyonVortex