Javascript 我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据
我有一个通过数组运行的API,我想在每个数组元素上向客户端发送数据,我尝试过使用res.write和res.flush,但它仍然要等到最后才能发送所有内容,有没有一种方法可以将数据分块发送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
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
模块的一部分?我已经尝试过在前端处理数组。问题在于错误的处理,一旦发生错误,整个页面就会崩溃。因此,我认为最好在后端处理整个数据,然后将结果发送到前端