我有一个贯穿数组的 API,我想在每个数组元素上向客户端发送数据
I have an API that runs through an array and I want to send data to the client on each array element
我有一个贯穿数组的 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()
.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();
我有一个贯穿数组的 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()
.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();