Node.js 如何在NodeJS中处理慢速http请求?
我是nodejs新手,对事件循环感兴趣。但我有一个困惑的问题Node.js 如何在NodeJS中处理慢速http请求?,node.js,loops,events,Node.js,Loops,Events,我是nodejs新手,对事件循环感兴趣。但我有一个困惑的问题 如果一个http请求需要处理10秒,如果所有其他请求必须等待慢速请求?在NodeJS中,大多数异步任务(如http请求、db访问等)将使用回调或承诺。这意味着事件循环可以自由处理其他任务,直到调用回调或承诺解析为止 您可以在NodeJS文档中阅读有关事件循环的更多信息。在NodeJS中,大多数异步任务(如http请求、db访问等)将使用回调或承诺。这意味着事件循环可以自由处理其他任务,直到调用回调或承诺解析为止 您可以在NodeJS文
如果一个http请求需要处理10秒,如果所有其他请求必须等待慢速请求?在NodeJS中,大多数异步任务(如http请求、db访问等)将使用回调或承诺。这意味着事件循环可以自由处理其他任务,直到调用回调或承诺解析为止
您可以在NodeJS文档中阅读有关事件循环的更多信息。在NodeJS中,大多数异步任务(如http请求、db访问等)将使用回调或承诺。这意味着事件循环可以自由处理其他任务,直到调用回调或承诺解析为止
您可以在NodeJS文档中阅读有关事件循环的更多信息。简短回答:不是,其他请求将并行工作。他们不会等待第一个请求的响应 长答案
简短回答:不是,其他请求将并行工作。他们不会等待第一个请求的响应 长答案
只有在http请求中,当您执行hudge同步操作或尝试在不使用流api的情况下向客户端发送文件时,才能减慢事件循环。每当您使用
fs.readFile
读取hudge文件时,它会暂停所有内容,直到读取整个文件,但使用流api会以块的形式发送文件。为了避免服务器速度减慢,您应该始终使用流api读取文件,例如使用fs.createReadStream
而不是fs.readFile
,具体取决于文件的大小事件循环只能在http请求中减慢,当您执行hudge同步操作时,或者当您尝试在不使用stream api的情况下向客户端发送文件时。每当您使用fs.readFile
读取hudge文件时,它会暂停所有内容,直到读取整个文件,但使用流api会以块的形式发送文件。为了避免降低服务器速度,您应该始终使用流api读取文件,例如,根据文件大小,使用fs.createReadStream
而不是fs.readFile