Node.js 使用request,如何下载前N个字节并在函数中返回它们?

Node.js 使用request,如何下载前N个字节并在函数中返回它们?,node.js,Node.js,我有点困了,需要你的帮助 关于如何更改此downloader函数(是的,我需要将其保留为一个返回缓冲区的函数),确保它下载并仅返回前N个字节,有何想法 。。。 异步函数getDataFromURL(url){ 常量选项={ uri:url, gzip:是的, 编码:空, 方法:“GET”, }; 让响应=等待请求(选项); 如果(response.statusCode==200){ 返回响应.body; }否则{ 抛出response.statusCode+“”+response.statusM

我有点困了,需要你的帮助

关于如何更改此downloader函数(是的,我需要将其保留为一个返回缓冲区的函数),确保它下载并仅返回前N个字节,有何想法

。。。
异步函数getDataFromURL(url){
常量选项={
uri:url,
gzip:是的,
编码:空,
方法:“GET”,
};
让响应=等待请求(选项);
如果(response.statusCode==200){
返回响应.body;
}否则{
抛出response.statusCode+“”+response.statusMessage;
};
};
...
让downloadedData=等待getDataFromURL('https://server/file');

多亏了@kmoser解决方案

。。。
异步函数getDataFromURL(url){
常量选项={
uri:url,
gzip:是的,
编码:空,
方法:“GET”,
标题:{
'Range':'bytes=0-253'//要下载的最大字节数
}
};
let response=context.request(选项);
如果(response.statusCode==206 | | response.statusCode==200){
返回响应.body;
}否则{
抛出response.statusCode+“”+response.statusMessage;
};
};
...
让downloadedData=等待getDataFromURL('https://server/file');

这是否回答了您的问题?我不这么认为,因为我认为这个解决方案适用于流,而我需要返回一个缓冲区。另外,如果我没有弄错的话,我不能在这个解决方案中使用回调结构将结果作为全局可访问变量(例如我的示例中的
downloadeData
)中的函数值返回?为什么不
return response.body.substr(n)
,其中
n
是要返回的字节数?虽然这仍然会获取整个请求,但如果这还不够,您可能可以使用来请求给定数量的字节。非常感谢@kmoser!我完全忽略了标题,这是对我问题的简单回答!