2017-10-16 1 views
2

어떤 환경 변수가 설정되어 있는지에 따라 const에 할당하고 싶지만 올바른 방법이 무엇인지 잘 모르겠습니다. 다음은 내가 가지고있는 것입니다.const에 조건부로 조건부로 할당하는 올바른 방법은 무엇입니까?

const pool; //Technically this is incorrect right ? 

if(process.env.PGUSER){ 
    pool = new Pool; 
}else if(process.env.DATABASE_URL){ 
    pool = new Pool({ 
     connectionString: process.env.DATABASE_URL 
    }); 
} 

처음에 풀을 선언하는 올바른 방법은 무엇입니까?

+1

당신은 그것이 즉'const를 풀 = "값을" '선언있어하는 같은 성명에서'const' 값을 지정해야합니다. 하지만 이렇게 할 수 있습니다'const pool = process.env.PGUSER? 새 풀 : process.env.DATABASE_URL? new pool ({connectionString : process.env.DATABASE_URL}) : null;' – Krusader

+2

이 코드에서'pool'은 결코 어떤 것도 할당되지 않을 것이기 때문에 실제로는'const'가 아닙니다. – deceze

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const - 즉시 할당해야하지만 표현식 (함수 호출 포함)이 될 수 있습니다. – tevemadar

답변

2

3 진 구조를 사용하여 원하는 인스턴스를 할당 할 수 있습니다.

const pool = process.env.PGUSER 
    ? new Pool 
    : new Pool({ 
     connectionString: process.env.DATABASE_URL 
    }); 
관련 문제