Dev./javascript
[JS] 클래스에 async getter 작성하기
인쥭
2022. 10. 7. 15:31
반응형
다음과 같이 getter에 async 키워드를 작성할 경우에는 Syntax Error가 발생한다.
SyntaxError: Unexpected identifier
class MyClass {
#props = { hello: 'world' };
async get result() { // SyntaxError: Unexpected identifier
return this.#props;
}
}
(async function main() {
const myInstance = new MyClass();
const result = await myInstance.result;
console.log(result);
})();
이 경우, 그냥 Promise를 반환하면 간단하게 async getter를 구현할 수 있다.
class MyClass {
#props = { hello: 'world' };
get result() {
return Promise.resolve(this.#props);
}
}
(async function main() {
const myInstance = new MyClass();
console.log(
await myInstance.result
); // { hello: 'world' }
})();