Как скомпилировать Fetch API и обещания совместимости браузера? - PullRequest
0 голосов
/ 19 марта 2019

Мне любопытно узнать, каковы лучшие решения, когда вы хотите использовать fetch () и обещания и скомпилировать / заполнить их для оптимальной поддержки браузера.

Когда я пытаюсь скомпилировать код выборки / обещания на babeljs.io, я не вижу скомпилированную версию, так что это немного сбивает меня с толку относительно того, как я могу использовать выборку и обещания вместо XML и иметь хорошую поддержку браузера?

Заранее спасибо за любые предложения о том, как я могу добиться этого.

Ниже приведен результат, полученный от компилятора babel, как вы можете видеть, результат не тот, который я ожидал, кроме изменения const на var!

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;
});

1 Ответ

0 голосов
/ 20 марта 2019

Вавилон имеет дело (в основном) с синтаксическим переводом, таким как преобразование constlet) в подходящие var объявления.Хотя он предоставляет полифилы через @babel/polyfill, fetch не входит в число предоставляемых.

Существует много выборочных полифилов, например, если ваш проект основан на браузере, это здесь .Чтобы включить его в свой проект, вы можете либо загрузить пакет .umd.js и включить его в тег <script>, либо использовать пакет, такой как webpack , browserify или Сверните , чтобы встроить его в свой проект.

...