ts async fungsi atau metode dalam ES5/ES3 membutuhkan 'Janji' konstruktor

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?

Larutan

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

Komentar (10)

Mencoba paket ini yang berisi jenis definisi untuk es6-janji

npm install-simpan @jenis/es6-janji

Komentar (1)

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

Komentar (1)

Anda juga bisa menggunakan "lib": "es2015.janji" untuk kesalahan tertentu

Komentar (1)

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 =>
    {
        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;

}
Komentar (0)

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.

Komentar (0)