Rumah  >  Soal Jawab  >  teks badan

Tajuk ditulis semula kepada: "(ES6) Class (ES2017) Async/Await Getter Method"

<p>Adakah mungkin atau mungkin pada masa hadapan untuk mengembalikan nilai daripada pengambil kelas ES6 melalui fungsi menunggu/async ES2017. </p> <pre class="brush:php;toolbar:false;">class Foo { async get bar() { var result = tunggu someAsyncOperation(); pulangan hasil; } } fungsi someAsyncOperation() { kembalikan Janji baharu(fungsi(selesai) { setTimeout(fungsi() { menyelesaikan ('baz'); }, 1000); }); } var foo = new Foo(); foo.bar.should.equal('baz');</pre> <p><br /></p>
P粉564192131P粉564192131395 hari yang lalu545

membalas semua(1)saya akan balas

  • P粉025632437

    P粉0256324372023-08-23 11:52:11

    Kemas kini: Seperti yang orang lain nyatakan, ini tidak benar-benar berkesan. @kuboon menyediakan penyelesaian yang bagus di bawah.

    Anda boleh melakukan ini

    class Foo {
        get bar() {
            return (async () => {
                return await someAsyncOperation();
            })();
        }
    }

    Ini sama seperti kod di bawah

    class Foo {
        get bar() {
            return new Promise((resolve, reject) => {
                someAsyncOperation().then(result => {
                    resolve(result);
                });
            })
        }
    }

    balas
    0
  • Batalbalas