Halo Saya Menggunakan async / await di Proyek TypeScript saya, Tapi saya Dapatkan log ini:
[ts] Fungsi atau metode asinkron di ES5 / ES3 memerlukan konstruktor 'Promise'. Pastikan Anda memiliki deklarasi untuk konstruktor 'Janji' atau menyertakan 'ES2015' dalam --lib
opsi Anda .
Bagaimana Saya Bisa Mengatasinya?
sumber
{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }
ini tsconfig.json saya. Bagaimana saya harus mengedit?csproj
file tersebut memiliki beberapa elemen xml tambahan untuk mengaktifkan / menonaktifkan hal-hal seperti itu."dom"
dalam"lib"
array atau saya mendapatkan kesalahan lainnya.Coba paket ini yang berisi definisi tipe untuk es6-promise
npm install --save @types/es6-promise
sumber
Jika Anda menggunakan VS, hapus tsconfig.json dan klik kanan proyek di Solution Explorer, lalu klik Properties-> TypeScript Build in General ubah yang berikut ini
Versi ECMAScript: ECMAScript 6
Sistem Modul: ES2015
sumber
Anda juga dapat menggunakan "lib": "es2015.promise" untuk kesalahan khusus tersebut
sumber
VS2019 sepertinya tidak mengenali file tsconfig.json, jadi opsi LIB tidak akan mengubah aplikasi. Ini adalah cara untuk menambahkan PROMISE untuk skrip ketikan untuk menerima ASYNC AWAIT.
sumber
Bagi saya kesalahan terjadi pada file pengujian saya di dalam
src/tests
folder. Karena saya gunakants-node
untuk menguji.ts
file secara langsung, saya dikecualikansrc/tests/*
dalam filetsconfig.json
. Segera setelah saya menghapus baris, kesalahan itu hilang (yang pada akhirnya masuk akal).Untuk berjaga-jaga jika ada orang lain yang berjuang dengan ini di file pengujiannya.
EDIT: Tentu saja Anda perlu mengkonfigurasi
--lib
opsi Anda dengan benar seperti yang diuraikan dalam jawaban yang diterima.tsconfig.json --lib
Opsi saya berfungsi sebagai berikut:sumber
Saya akhirnya berhasil menyelesaikannya!
Perintah saya di terminal:
yarn tsc main.ts && nodejs main.js
Pesan kesalahan saya:Apa yang saya lakukan untuk mengatasinya, merujuk pada file tsconfig.json.
File tsconfig.json saya seperti ini:
Dan perintah terminal saya adalah seperti ini:
yarn tsc -p ./tsconfig.json && nodejs main.js
Jika saya ingin menjalankan file .ts lainnya, saya cukup melakukan:yarn tsc -p ./tsconfig.json && nodejs file_name.js
sumber
Saya menggunakan VS2017 v15.8.2 dan Typecript 2.4.2 dalam proyek Angular 4 (di bawah proyek perpustakaan kelas dalam solusi saya, bukan proyek skrip ketikan). Saya dapat menghapus kesalahan / peringatan di VS dengan menonaktifkan layanan bahasa JavaScript :
Pilihan => Editor Teks => JavaScript / TypeScript => Layanan Bahasa
Mulai ulang VS.
Semoga ini membantu.
sumber