다음 코드를 사용하고 있습니다.비동기/약속 기다림
class DB {
constructor(client) {
this.client = client;
}
}
export default function store() {
return new Promise((resolve, reject) => {
pg.connect(process.env.DATABASE_URL, client => {
client.query('CREATE TABLE x(name VARCHAR(100))');
return resolve(new DB(client));
});
});
}
저장소 기능을 클래스 생성자 내부로 옮기고 async/await을 사용하여 다시 작성하는 방법이 있습니까?
이미 시도 했습니까? 코드를 보여주십시오. 우리는 그것에 대해 토론 할 수 있습니다. – Andrea
나는 그것이 가능하다고 생각하지 않습니다; 생성자는 본질적으로 동기식이므로 생성자 내부에서 비동기 작업을 수행 할 수 없습니다 (적어도 적절하지는 않음). – Frxstrem
@Frxstrem에 동의하십시오. 일반적으로 생성자는 새 인스턴스를 반환해야합니다. 클래스에 저장소 함수를 추가하고 생성자 내에서 저장소 함수를 트리거 할 수 있습니다 (인스턴스 속성에 약속 지정). – nils