【问题标题】:node js file upload download and streaming datanode js文件上传下载和流数据
【发布时间】:2014-07-21 14:35:07
【问题描述】:

我一直在阅读有关 Node 以及它是如何实现单线程的。如果我有一个大文件(500mb)要上传到服务器或从服务器下载文件,我猜这不可能在服务器端异步发生。在这种情况下使用 nodejs 是一个糟糕的用例吗?或者有没有解决方案可以在不阻塞事件循环的情况下完成?

【问题讨论】:

    标签: node.js


    【解决方案1】:

    有一个用户线程,但节点中还有其他线程。

    大多数 IO 操作都是在幕后为您完成的,您只对事件采取行动。通常,您将收到带有数据块的事件,如果同时发生其他请求,它们可能会与其他事件交错。如果您在主线程中没有做很多事情(通常是这种情况),那么您的程序没有理由在上传期间阻塞。

    【讨论】:

    • 下载时回调处理程序会执行很长时间,直到所有数据都写入客户端。这不会阻塞事件循环,因为事件循环将执行回调处理程序?
    • 这并不是你脚本中的真正循环:你的事件处理程序被多次调用,并使用此连接的数据,但在你的其他事件处理程序之间也可以调用。
    猜你喜欢
    • 2022-10-07
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2017-01-12
    • 2017-07-07
    相关资源
    最近更新 更多