Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
Javascript 我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据_Javascript_Node.js_Arrays_Express_Send - Fatal编程技术网

Javascript 我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据

Javascript 我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据,javascript,node.js,arrays,express,send,Javascript,Node.js,Arrays,Express,Send,我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据,我尝试过使用res.write和res.flush,但它仍然要等到最后才能发送所有内容,有没有一种方法可以将数据分块发送 for (let i = 0; i < searchUrl.length; i++) { const element = searchUrl[i]; const element_details = await getDetailsforURL(element) res

我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据,我尝试过使用res.write和res.flush,但它仍然要等到最后才能发送所有内容,有没有一种方法可以将数据分块发送

for (let i = 0; i < searchUrl.length; i++) {
      const element = searchUrl[i];
      const element_details = await getDetailsforURL(element)
      res.write(JSON.stringify(element_details))
      res.flush()
      //return_array.push(element_details)
    }
    res.end()
for(设i=0;i
.write()
将内容添加到响应正文中。基本上,对于每个
res.write()
,您将数据添加到正文中,并使用
res.end()
发送数据。如果您想分块发送,则每个块需要一个请求,这意味着客户端需要连续发送请求,直到收到所有数据

如果不想发送整个阵列,可以在服务器端进行处理并将结果发送到客户端:

let response = [];
for (let i = 0; i < searchUrl.length; i++)
    const element = searchUrl[i];
    const element_details = await getDetailsforURL(element);
    response.push(element_details);
    
}
res.write(JSON.stringify(element_details));
res.end();
let response=[];
for(设i=0;i
为什么要发送阵列上的每个元素?发送数组并在前端处理
write
函数是
net
模块的一部分?我已经尝试过在前端处理数组。问题在于错误的处理,一旦发生错误,整个页面就会崩溃。因此,我认为最好在后端处理整个数据,然后将结果发送到前端