write()方法的文档表示:
返回false表示内核缓冲区已满,数据将在未来发送。
而
在write()方法返回false后,会触发此事件以指示可以再次安全地写入。
这是什么意思?我需要等待
返回false表示内核缓冲区已满,数据将在未来发送。
而
drain
事件的文档表示:在write()方法返回false后,会触发此事件以指示可以再次安全地写入。
这是什么意思?我需要等待
drain
事件才能再次写入吗?我试图写入的数据发生了什么?它会丢失吗?如果我调用write而不等待drain
事件会发生什么?
res.write
(即未刷新到内核缓冲区)时调用process.exit()
会发生什么?响应是否会丢失? - Emmettprocess.exit()
,那么这些数据将会丢失。 - TooTallNatewrite()
的返回值可能存在一定的安全隐患。”当前文档指出:“虽然允许在不排空数据流的情况下调用write()
,但 Node.js 会缓存所有写入的数据块,直到内存使用达到最大值,此时它将无条件地中止。即使在它中止之前,高内存使用也会导致垃圾回收性能不佳和高 RSS(通常即使在不再需要内存后,也不会释放给系统)。” 另请参阅:https://dev59.com/QVoU5IYBdhLWcg3wTV3E - TachyonVortex