Javascript 在Safari 11.1中获取-带有控制台日志的请求不';t工作(不支持ReadableStream上传)

Javascript 在Safari 11.1中获取-带有控制台日志的请求不';t工作(不支持ReadableStream上传),javascript,safari,fetch,Javascript,Safari,Fetch,在上次更新Safari浏览器(到11.1)后,我注意到我的获取代码停止工作 代码: 在代码笔上: 在Safari 11.1上返回错误:“NotSupportedError:不支持ReadableStream上载”。 但是,如果使用console.log(newRe)删除行,则一切正常 为什么?Safari似乎不支持使用具有POST方法的请求对象进行获取;可能是因为现在当您构造一个请求对象时,主体被包装在可读流中 您可以将请求对象转换为参数元组: const body = await reques

在上次更新Safari浏览器(到11.1)后,我注意到我的获取代码停止工作

代码:

在代码笔上:

在Safari 11.1上返回错误:“NotSupportedError:不支持ReadableStream上载”。 但是,如果使用
console.log(newRe)
删除行,则一切正常


为什么?

Safari似乎不支持使用具有
POST
方法的
请求
对象进行获取;可能是因为现在当您构造一个
请求
对象时,主体被包装在
可读流

您可以将
请求
对象转换为参数元组:

const body = await request.clone().text();
const {cache, credentials, headers, integrity, mode, redirect, referrer} = request;
const init = {body, cache, credentials, headers, integrity, mode, redirect, referrer};
fetch(request.url, init);

如果
console.log
更改了代码行为,我认为您有一个严重的bug需要报告-编辑:从外观上看已经报告了-解决方案是不要使用
请求API
。。。所以
fetch()https://jsonplaceholder.typicode.com/posts“,选项)
应该在seemsIf而不是
文档中工作。编写
错误对象时,实际上是
控制台。错误
ing它时,您可能会看到该错误是一个代码笔错误,特别是在他们的控制台运行程序[…]中,可能是因为他们试图访问一个不允许他们访问的属性。这个错误在纯代码中是可以重复的,而不仅仅是在codepen中。你可以自己检查。你可能有其他东西试图访问Request.body,但我无法在上复制,例如我在Mac上的Safari上打开了这个小提琴,出现了相同的错误。。。
const body = await request.clone().text();
const {cache, credentials, headers, integrity, mode, redirect, referrer} = request;
const init = {body, cache, credentials, headers, integrity, mode, redirect, referrer};
fetch(request.url, init);