请教一个可能跟fetch有关的问题

目前用https://deno.land/std@0.100.0/io#readerfromstreamreader获取数据做了一个批量下载器.平时用的时候正常打印log都是status==200,没有问题(包括出错的时候.),网站本身也没有任何对于外链下载的限制.

流程大概是

import { readerFromStreamReader } from "https://deno.land/std@0.100.0/io/mod.ts";

for(i of addressArray){
//为了保险,我把能加await的全加了
const res = await fetch(  动态url  );
const file = await Deno.open(  动态filename  , { create: true, write: true });
const reader = await readerFromStreamReader(res.body!.getReader());
await Deno.copy(reader, file);
await file.close();

//下面继续走, 循环下载
}

但是在这途中, 会不定期的出问题,提示:

Uncaught (in promise) TypeError: error sending request for url (网址略去): connection closed before message completed
    at deno:core/core.js:86:46
    at unwrapOpResult (deno:core/core.js:106:13)
    at async mainFetch (deno:extensions/fetch/26_fetch.js:229:14)

有时候下两三个就报错了,有时候下几十个或者几百个才报错,找遍了全网也没有任何资料,不知道有没有大佬可以给个思路?谢谢了

有可能是对方服务器的问题。能不能给一个可以复现的 demo 代码?

好像知道了,大概是内存不足,线程被强制卸载了,不是低配机还复现不了…难怪全网都找不到答案:sweat:

1 个赞