状況
class MyClass {
async constructor() {
this.aaa = 'AAA'
this.bbb = await hogehoge();
}
}
const ccc = async () => {
const ddd = await new MyClass();
};
Uncaught SyntaxError: Class constructor may not be an async method
対処法
class MyClass {
constructor() {
this.aaa = 'AAA'
}
async init() {
this.bbb = await hogehoge();
}
}
const createMyClass = async () => {
const obj = new MyClass();
await obj.init();
return obj;
};
const ccc = async () => {
const ddd = await createMyClass();
};
非同期処理をコンストラクタから分離する。