2017-08-02 49 views
0

我在快速服務器上設置了郵件服務類。Nodemailer傳輸創建建議

建議使用哪種創建傳輸方法?

class mailService { 
    private transport: nodemailer.Transport; 
    constructor(){ 
     this.transport = nodemailer.createTransport('configstring'); 
    } 

    public sendEmail(email: string){ 
     //send email 
    } 
} 

OR

class mailService { 

    public sendEmail(email: string){ 
     let transporter = nodemailer.createTransport('configstring'); 
     //send email 
    } 

    public sendOtherEmail(email: string){ 
     let transporter = nodemailer.createTransport('configstring'); 
     //send email 
    } 
} 

的文件說:「你可以在創建後往往你喜歡重複使用運輸」這使我認爲,第一種選擇會比較好,但是不能告訴是否有任何優勢。

只是簡單地創建傳輸每次都是重複問題,或者會有多個實例在內存中浮動,每次執行sendEmail函數時都會成爲孤兒?

回答

1

使用第二種方法幾乎沒有什麼優勢。如果您想更改不同發送作業之間的傳輸配置,它可能會派上用場。

如果不是的情況下,它是推薦的堅持使用用於根據 DRY 原則發送電子郵件單個傳輸(第一方法)。

你也不應該在意這裏的內存,因爲Node有一個垃圾回收器,在你的sendOtherEmail()函數結束後,內存將被釋放。