Здравствуйте, я использую async / await в своем проекте TypeScript, но получаю этот журнал:
[ts] Асинхронная функция или метод в ES5 / ES3 требует конструктора Promise. Убедитесь, что у вас есть объявление для конструктора Promise или включите ES2015 в свой --lib
вариант.
Как я могу это решить?
источник
{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }
это мой tsconfig.json Как мне отредактировать?csproj
файле есть некоторые дополнительные элементы xml для включения / отключения таких вещей."dom"
в"lib"
массив, иначе я получаю другие ошибки.Попробуйте этот пакет, который содержит определения типов для es6-обещания
npm install --save @types/es6-promise
источник
Если вы используете VS, удалите tsconfig.json и щелкните правой кнопкой мыши проект в обозревателе решений, затем нажмите « Свойства» -> «Сборка TypeScript в общем», измените следующие параметры.
Версия ECMAScript: ECMAScript 6
Модульная система: ES2015
источник
Вы также можете использовать "lib": "es2015.promise" для этой конкретной ошибки.
источник
VS2019, похоже, не распознает файл tsconfig.json, поэтому параметры LIB не изменят приложение. Это способ добавить ОБЕЩАНИЕ для машинописного текста на принятие ASYNC AWAIT.
источник
Для меня ошибка возникла в моих тестовых файлах внутри
src/tests
папки. Поскольку я используюts-node
для тестирования.ts
файлы напрямую, я исключилsrc/tests/*
в своемtsconfig.json
. Как только я удалил строку, ошибка исчезла (что, в конце концов, имеет смысл).На всякий случай кто-то еще борется с этим в своих файлах тестирования.
РЕДАКТИРОВАТЬ: Конечно, вам нужно правильно настроить свой
--lib
параметр, как указано в принятом ответе. Мойtsconfig.json --lib
вариант работает следующим образом:источник
Наконец-то мне удалось это решить!
Моя команда на терминале:
yarn tsc main.ts && nodejs main.js
Мое сообщение об ошибке:Чтобы решить эту проблему, я сослался на файл tsconfig.json.
Мой файл tsconfig.json выглядел так:
И моя команда терминала такая:
yarn tsc -p ./tsconfig.json && nodejs main.js
Если я хочу запустить другой файл .ts, я просто делаю:yarn tsc -p ./tsconfig.json && nodejs file_name.js
источник
Я использую VS2017 v15.8.2 и Typescript 2.4.2 в проекте Angular 4 (в проекте библиотеки классов в моем решении, а не в проекте машинописного текста). Мне удалось удалить ошибку / предупреждение в VS, отключив языковую службу JavaScript :
Параметры => Текстовый редактор => JavaScript / TypeScript => Языковая служба
Перезагрузите VS.
Надеюсь это поможет.
источник