Как объявить конструктор Promise? - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть старый проект TypeScript, ориентированный на ES5, и обновление из-за чего-то более нового, например, ES2015, не подходит из-за ряда факторов. При попытке скомпилировать код, использующий async / await, я получаю сообщение об ошибке:

TS2705 (TS) An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your - lib option.

Ошибка предполагает, что есть 2 варианта ее решения и одно обновление до ES2015 не вариант для меня, поэтому я хотел бы знать, как точно объявить конструктор Promise.

Я искал на форуме и нашел множество похожих вопросов, но все рекомендации я смог В итоге выяснилось, что он предлагает обновить хотя бы до ES2015, что, как я уже говорил выше, в моем случае не вариант.

1 Ответ

0 голосов
/ 09 февраля 2020

попробуйте найти исходный код класса Promise в js и внедрить в global.Promise = 'what you copied'

, или вы можете использовать другие библиотеки, такие как bluebird - таким же образом.

global.Promies = require('bluebird')()
...