Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodejs中进行异步处理_Node.js_Asynchronous - Fatal编程技术网

Node.js 如何在nodejs中进行异步处理

Node.js 如何在nodejs中进行异步处理,node.js,asynchronous,Node.js,Asynchronous,我是NodeJS的新手,正在尝试构建一个简单的应用程序来从RSS提要构建网页 http.get('http://www.someurl.com/news?output=rss', function(res) { res.on('data', function(chunk) { resLength += chunk.length; chunks.push(chunk); }); res.on('end', function(chunk) {

我是NodeJS的新手,正在尝试构建一个简单的应用程序来从RSS提要构建网页

http.get('http://www.someurl.com/news?output=rss', function(res) {
    res.on('data', function(chunk) {
        resLength += chunk.length; 
        chunks.push(chunk);
    });
    res.on('end', function(chunk) {
        // combine all chunks and process feed XML.
    });
})
处理服务器响应的时间可能会更长,并且会阻塞主线程


如何创建一个异步操作来处理中间服务器响应并将结果发送回?

请查看expressjs.com,它是node.js web应用程序的全球目标,以及在nodejs中获取http资源的包,因为它是单线程服务器,您不应该做占用大量CPU时间的事情(事件循环)。其他内容不会阻止整个过程。
服务器发出该请求并继续执行其他操作,当请求返回时(经过数百万个时钟周期),您可以执行回调,您所需要的只是指向回调的指针。

因此,您不能异步处理具有 大量的CPU使用。除此之外,所有其他请求都像 异步处理


他可以利用
子进程
-包将CPU扩展任务移动到另一个进程。然后服务器本身就不会被阻止…是的,这很酷,但nodeJS理论说,它实际上不适合CPU扩展任务。尽管我们可以像你说的那样做。。