2017-10-16 99 views
2

我想給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 pool =「value」''。但你可以這樣做'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

您可以使用三元結構並分配想要的實例。

const pool = process.env.PGUSER 
    ? new Pool 
    : new Pool({ 
     connectionString: process.env.DATABASE_URL 
    }); 
相關問題