是否可能或將來可能透過ES2017的await / async函數從ES6類別的getter傳回一個值。
class Foo { async get bar() { var result = await someAsyncOperation(); return result; } } function someAsyncOperation() { return new Promise(function(resolve) { setTimeout(function() { resolve('baz'); }, 1000); }); } var foo = new Foo(); foo.bar.should.equal('baz');
更新:正如其他人指出的那樣,這並不真正起作用。 @kuboon在下面提供了一個不錯的解決方法。
你可以這樣做
這與下面的程式碼是相同的