Я создаю стороннюю библиотеку для использования в браузерах и хочу использовать 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.