Как использовать async / await в Typescript без глобального обещания Polyfill - PullRequest
0 голосов
/ 13 июня 2019

Я создаю стороннюю библиотеку для использования в браузерах и хочу использовать Typescript.К сожалению, я должен поддерживать Internet Explorer 11 и для этого включать полифилл Promise.Как сторонняя библиотека, я не хочу переопределять глобальные переменные, такие как window.Promise, поскольку веб-сайт, который использует библиотеку, может использовать или не использовать свои собственные полифилы с другим поведением.

С babel я мог бы использовать regenerator-runtimeпреобразовать Обещания без глобального полизаполнения, и я хотел бы знать, есть ли подобное решение для машинописи без использования Babel.

Я уже пробовал использовать promise-polyfill:


import Promise from "promise-polyfill";

function testA(t) {
  return new Promise(resolve => {
    setTimeout(resolve, t);
  });
}

async function testB() {
  return true;
}

Функция testA правильно заполнен в сгенерированном коде JavaScript, но testB нет.Преобразование машинописи для async / await не сшивается, чтобы заботиться об импортированном полифиле Promise.

...