Halo saya'm Menggunakan async/menanti dalam Naskah saya di Proyek, Tapi saya Mendapatkan ini log:
[ts] async fungsi atau metode dalam ES5/ES3 membutuhkan 'Janji' konstruktor. Pastikan anda memiliki sebuah deklarasi untuk 'Janji' konstruktor atau termasuk 'ES2015' di --lib
pilihan.
Bagaimana Saya Bisa Mengatasi Itu?
Seperti pesan kesalahan yang mengatakan, tambahkan lib: es2015
untuk anda tsconfig.json
// tsconfig.json
{
"compilerOptions": {
"lib": [ "es2015" ]
}
}
UPDATE: jika ini doesn't bekerja untuk anda, coba ini:
JetBrains IDE seperti WebStorm, menggunakan implementasi sendiri secara default. Pastikan anda mengkonfigurasi untuk menggunakan Naskah bahasa layanan sebaliknya.
Untuk Visual Studio, file proyek dan tsconfig.json
adalah saling eksklusif. Anda akan perlu untuk mengkonfigurasi proyek anda secara langsung.
https://github.com/Microsoft/TypeScript/issues/3983#issuecomment-123861491
Jika anda berada di VS, menghapus tsconfig.json dan klik kanan project di dalam Solution Explorer, kemudian klik pada Sifat->Naskah Membangun secara Umum perubahan sebagai berikut
ECMAScript versi: ECMAScript 6
Modul Sistem: ES2015
VS2019 tampaknya tidak mengenali tsconfig.file json, jadi LIB pilihan tidak akan mengubah aplikasi. Ini adalah cara untuk menambahkan JANJI untuk ketangkasan untuk menerima ASYNC MENUNGGU.
export function AD(first: any, second: any, callBack: any)
{
const rtn = async (dispatch: any): Promise<void> =>
{
await axios.post(TYPE.URI, { // provide a string of a URI to post into
parm1: first,
parm2: second
})
.then(data => // or you can use response instead of data as a name
{
console.log("data from call next");
console.log(data);
dispatch({ type: TYPES.AD, payload: data.data });
if (callBack)
{
callBack(data);
}
})
}
return rtn;
}
Saya menggunakan VS2017 v15.8.2 dan Ketangkasan 2.4.2 di Sudut 4 proyek (di bawah perpustakaan kelas proyek di solusi saya, tidak ketangkasan proyek). Saya bisa menghapus kesalahan/peringatan DIBANDINGKAN dengan menonaktifkan bahasa JavaScript layanan:
Pilihan => Text Editor => JavaScript/Ketangkasan => Layanan Bahasa
Restart VS.
Semoga ini bisa membantu.