当您想使用fetch()和承诺并将其编译/poly-polle-forder以获得最佳浏览器支持时,我很好奇最好的解决方案。
当我尝试在babeljs.io上编译获取/承诺代码时,我看不到编译版本,所以这让我对如何使用获取和承诺而不是XML并获得良好的浏览器支持感到有些困惑?
我从公告料编译器中获得的结果。这不是我所期望的,除了更改const:
const image = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
vs
var image = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
var objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
babel交易(主要是)与语法翻译,例如将const
(和let
)转换为合适的var
声明。虽然它确实通过@babel/polyfill
提供了多填充,但fetch
不是提供的。
有很多获取多填充物,一个例子,假设您的项目基于浏览器,则在这里。要将其包括在您的项目中,您可以下载.umd.js
软件包并将其包含在<script>
标签中,也可以使用Bundler(例如WebPack,浏览或汇总)将其构建到您的项目中。