fetch(url, opt)
.then((res) => {
if (res.ok) return Promise.resolve(res);
})
.then((res_) => {
//创建一个阅读器并将流锁定到它。当流被锁定时,在这个阅读器发布之前,无法获得其他阅读器
const reader = res_.body.getReader();
const utf8Decoder = new TextDecoder('utf-8');
//定义一个对象存储每次拿到的数据
return reader.read().then(function push({ value, done }) {
if (done) {
//表示数据流结束
console.log('流式结束了');
} else {
let _value = value ? utf8Decoder.decode(value, { stream: true }) : '';
const arr = (_value || '').replace(/\s/g, '').split('data:') || [];
console.log("每次响应结果",arr)
}
return reader.read().then(push);
});
});